JVM虚拟机(一)_代码执行流程_编译器_生命周期

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

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

 

 

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

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

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

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

主流:二者并存

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

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

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

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

JVM虚拟机(二)生命周期

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值