什么是中间代码?
通俗的解释,为了让所有编程语言统一,可以让任何编程语言先编译成一样格式的中间代码,用解释器执行中间代码就可以达到让所有编程语言都可以用解释器执行。甚至可以让C/C++/Python/Java都用一套Java虚拟机(当然前提是编译支持C/C++/Python生成字节码)。微软的MSIL和Java字节码是一个概念,只不过是.NET编程语言统一了中间代码。
Java语言不同类型编译器
正因为有中间代码,Java或者C#语言不同于C/C++语言,它们的编译模式可以有三种。
- 源代码编译成字节码
- 字节码编译成本地码
- 源代码编译成本地码
这三种分别对应前端编译器、JIT编译器和AOT编译器。
什么是HotSpot编译器?
Java语言最早设计初衷是将源代码编译成字节码,解释执行。这一定比编译型语言要慢,后来一些聪明人发现解释器执行的很多字节码其实是重复的,可以试图找到最经常解释执行的并暂时保存成机器码,多次的执行就很高效。HotSpot就是类似这种热点代码的意思,会自带JIT编译器实现即时编译成机器码并提高性能。
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
标签:Java,字节,编译成,中间代码,HotSpot,编译器 From: https://blog.csdn.net/cxsjabcabc/article/details/143448992