JVM虚拟机(一)

JVM虚拟机(一),第1张

JVM虚拟机(一)

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

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

 

 

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

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

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

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

主流:二者并存

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

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

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

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

JVM虚拟机(二)生命周期

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

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

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

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5523031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存