JIT 编译器用于将 java 字节码转换为 native 机器语言。而且据我所知,没有程序可以直接将java字节码转换成二进制文件,如.exe文件。那么,为什么 JIT 编译器不能用于从字节码生成二进制文件呢?
最佳答案
JIT 编译器,动态编译代码。
- 它为不同类型的 CPU 生成不同的代码。
- 它为不同的内存模型生成不同的代码,例如对于 64 位 JVM,如果最大堆大小为 < 4 GB、< 24 GB、< 32 GB 或更多,您将在每种情况下生成不同的代码。
- 它将在加载和卸载类时重新编译代码。
- 它将根据代码的使用方式重新优化代码。例如如果曾经关闭的标志没有打开,反之亦然。
静态编译器不能做这些事情。
关于java - 为什么 JIT 编译器不能用于生成二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10385218/