谈谈你对JVM的理解

这里和大家简单分享一下JAVA和JVM运行的原理,Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行,而JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器

JAVA和JVM运行的原理

1.Java语言运行的过程

Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行。

谈谈你对JVM的理解

也相当与

谈谈你对JVM的理解

注:JVM(java虚拟机)包括解释器,不同的JDK虚拟机是相同的,解释器不同。

(个人补充:例如JDK中的编译器javac)将我们的java文件编译成.classjava字节码文件,JVM的解释器解析这些字节码,映射到CPU指令集或者OS的系统调用;eclipse使用的不是javac!eclipse的JDT用的是自己写的编译器,对javac没有任何依赖关系,这一直是Eclipse一件自豪的事情。eclipse和JDK的编译结果可能不一致。

javac的编译方法有:编译时首先读入java源程序(即在MS-DOS命令行下键入javac HelloWorld.java等文件名参数和其他选项参数),然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成中间代码即字节码,字节码文件名和源文件名相同,扩展名为.class。)

.JVM:

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。

java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。

JVM执行程序的过程 :

I.加载.class文件

II.管理并分配内存

III.执行垃圾收集

JRE(java运行时环境)由JVM构造的java程序的运行环境 

谈谈你对JVM的理解


转载于:https://blog.****.net/g19920917/article/details/40015611