jdk有open与oraclejdk主要是 (免费vs商用(GC2VS1))的区别

 系统虚拟机与程序虚拟机(执行单个计算机程序)

 

 

 执行引擎(翻译者):将高级语言翻译为机器语言,让操作系统接收指令

 解释器:翻译字节码(执行引擎):保证响应时间,对字节码文件逐行解释执行,

JIT编译器(执行引擎):对热点代码编译为机器指令并且缓存在方法区,下次可以直接调用(可以提升性能)

 JIT通过计数器找到热点代码,在本地缓存(方法区)起来,下次直接执行(及时变异或者栈上替换),以此完成协同工作

主流:二者并存

(这个是前的)java编译器中:栈指令集架构的(寄存器指令集架构)反编译流程:

解释:java编译器,iconst2进栈,存储在istore(栈点位置为)1的位置上,

 java编译器中的栈编译器与寄存器编译器

 :栈指令集架构的(寄存器指令集架构)

JVM虚拟机(二)生命周期

 也就是:通过引导类加载器,创建一个初始类,(不是obj类但是obj类也是通过引导类加载器而加载的)之后在这个类的main方法相继加载其他类的方法

相当于,在准备执行程序的时候发现必要条件都没有加载,所以先加载一个初始类把台子搭好

 也就是:在需要自行java程序的时候虚拟机启动,重新结束虚拟机退出;所以真正在执行的是一个叫做java虚拟机的进程(虚拟机里来运行java代码)

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐