lichuanyan

1. 解释执行与编译执行的区别

对于我们平时写的代码,计算机是没办法直接识别的,需要相应的编译器将其编译成机器代码(一些计算机可以直接识别的二进制代码),机器才能执行。

编译执行:先编译再执行,这里需要有一个编译器,来将我们的代码全部编译成机器代码,然后进行执行。因为先整体进行编译,所以这里会生成编译后的机器代码。

解释执行:需要一个解释器,它会将我们的代码一句句解释成机器代码来执行,可以认为是,解释一句,执行一句。在这个过程中,不会生成中间文件。

2. 生成字节码文件

通过如javac等(前端)编译器,由.java代码源文件生成.class字节码文件

3. JIT 编译器:字节码到机器码

把经常运行的代码作为"热点代码"编译成与本地平台相关的机器码。

HotSpot虚拟机内置两种JIT编译模式:C1C2

C1:client模式,适用于对启动速度敏感的应用,比如普通Java桌面应用

C2:server模式,为长时间运行的服务端应用设计的

C1的编译速度比C2快,C2会做一些激进的优化,编译耗时较长

HotSpot虚拟机有三种运行模式:混合模式、解释模式、编译模式。

4. AOT 编译器:源代码到机器码 

直接将字节码编译成机器码

分类:

技术点:

相关文章:

  • 2021-10-17
  • 2021-09-26
  • 2021-12-29
  • 2022-12-23
  • 2021-08-11
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-15
  • 2022-01-20
  • 2021-05-12
  • 2021-10-31
  • 2021-11-02
相关资源
相似解决方案