Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode)(class文件的内容),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。
所以Java源代码转换成的class文件可以在任何系统上运行,只要那个系统上安装的有jdk,这就不同于c语言,c的源程序编译出来的exe文件只能在windows系统上运行。
java语言是一种先编译后解释的语言,需要先将源代码转换成class文件,在dows窗口中输入Java (源文件名)即可
这里会多出一个class文件
这是详细操作
由源代码Java文件变成class文件经过校验最后在平台上运行,这就是Java大致的工作原理
如下图
版权声明:本文为qq_43255687原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
发表回复