如何用记事本做网站,南宁做网站哪家好,wordpress开启缩略图,四川省德阳市建设招投标网站概念
执行class文件中的指令#xff0c;由解释器编译器组成 补充——Java为什么是半编译半解释型语言
因为Java即有编译器也有解释器#xff0c;可以用其中一种来运行。 程序执行步骤 解释器与编译器区别
编译器
概念
JIT#xff08;Just In Time Compiler#xff09;…概念
执行class文件中的指令由解释器编译器组成 补充——Java为什么是半编译半解释型语言
因为Java即有编译器也有解释器可以用其中一种来运行。 程序执行步骤 解释器与编译器区别
编译器
概念
JITJust In Time Compiler编译器就是虚拟机将源代码直接编译成和本地机器平台相关的机器语言。
问题——为何有编译器还要有解释器
首先明确 当程序启动后解释器可以马上发挥作用省去编译的时间立即执行。 编译器要想发挥作用把代码编译成本地代码需要一定的执行时间。但编译为本地代码后执行效率高。
所以 尽管JRockit VM中程序的执行性能会非常高效但程序在启动时必然需要花费更长的时间来进行编译。对于服务端应用来说启动时间并非是关注重点但对于那些看中启动时间的应用场景而言或许就需要采用解释器与即时编译器并存的架构来换取一个平衡点。在此模式下当Java虚拟器启动时解释器可以首先发挥作用而不必等待即时编译器全部编译完成后再执行这样可以省去许多不必要的编译时间。随着时间的推移编译器发挥作用把越来越多的代码编译成本地代码获得更高的执行效率。
使用场景
当一段代码一直被执行执行次数超过规定的阈值就会被判断为热点代码那么JVM就是把这段代码进行编译然后编译后的结果存储在方法区以后用到这段代码就无需去解释运行了直接使用编译后的结果即可 解释器
概念
1. 当Java虚拟机启动时会根据预定义的规范对字节码采用逐行解释的方式执行将每条字节码文件中的内容“翻译”为对应平台的本地机器指令执行
2. 解释器真正意义上所承担的角色就是一个运行时“翻译者”将字节码文件中的内容“翻译”为对应平台的本地机器指令执行。
3. 当一条字节码指令被解释执行完成后接着再根据PC寄存器中记录的下一条需要被执行的字节码指令执行解释操作
特点
速度慢比起编译技术这种技术速度慢但是响应速度快因为编译需要编译完成才能运行而解释器解释一句运行一句。