首页 > 其他 > 详细

JVM(1)—基础知识

时间:2020-08-25 20:25:17      阅读:85      评论:0      收藏:0      [点我收藏+]

JVM(1)—基础知识

混合语言编程

技术分享图片

不同语言都可以通过各自对应的编译器生成结构相同的字节码文件,JVM只认识字节码。JVM加载字节码文件,通过不同操作系统转换为对应的机器码。

JVM的发展及种类

技术分享图片

  1. Sun Classic VM :只提供Java解释器,解释执行Java代码,高响应速度。将字节码指令翻译为CPU认识的机器指令(0、1),一行一行翻译。可以外挂即时编译器,基于热点探测(相同命令可以缓存机器指令),提高效率。解释器(高响应速度)与编译器(效率高)只能选一个。

  2. Exact VM :解释器与编译器可以混合运行,响应和效率可以平衡。但只能运行在Sun Solaris操作系统平台。是现代JVM的前身。

  3. Hotspot VM :1.3后默认的虚拟机,同时支持解释器与编译器,响应和效率可以平衡,所有平台都可以使用,只有Hotspot 才有方法区(永久代)。

  4. JRockit VM :被Oracle收购,最快的JVM,只专注于服务器端,只包含编译器,所以服务器应用程序启动时间长,但执行相率快。

  5. IBM J9 VM :包含了解释器与编译器,对IBM自家产品优化好。

  6. Taobao VM :基于OpenJDK Hotspot改造,为淘宝量身打造。

Oracle JDK 与OpenJDK的异同:默认都是用Hotspot。Oracle JDK只能个人研究使用,OpenJDK允许商用,Oracle JDK未经授权不能进行商业开发牟利。Oracle JDK功能更全,OpenJDK只包含了JDK的核心,其他组件要自己安装。OpenJDK无法通过TCK测试(成千上万的测试用例,覆盖JVM每一个规范),开发的商品不能使用Java商标,经Red Hat补全已经通过TCK。

JVM的组成

技术分享图片

JVM(1)—基础知识

原文:https://www.cnblogs.com/yinrz/p/13561762.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!