从源码层,拆解OracleJDK和OpenJDK有什么差异?
发布时间:2022-04-13 22:29:55 所属栏目:动态 来源:互联网
导读:Oracle JDK与OpenJDK里的JVM都是HotSpot VM。从源码层面说,两者基本上是同一个东西。 HotSpot VM只有非常非常少量的功能没有在OpenJDK里,那部分在Oracle内部的代码库里。这些私有部分都不涉及JVM的核心功能。 这些HotSpot VM私有的部分主要是Java Flight
Oracle JDK与OpenJDK里的JVM都是HotSpot VM。从源码层面说,两者基本上是同一个东西。 HotSpot VM只有非常非常少量的功能没有在OpenJDK里,那部分在Oracle内部的代码库里。这些私有部分都不涉及JVM的核心功能。 这些HotSpot VM私有的部分主要是Java Flight Recorder的内部实现,以及还有没有公开到OpenJDK的其它平台的port,例如Oracle自己的ARM、PPC版HotSpot VM。 JDK6的代码,由于历史原因,Sun JDK6跟OpenJDK6的代码并不同步。但是其中的HotSpot VM仍然是相对一致的。OpenJDK 6里的HotSpot VM只缺了一个Oracle JDK里才有的优化,那就是-XX:+UseCompressedString。这个功能实现得不太好,没带进JDK7/OpenJDK7,所以这点差异没有也罢。 另外,Sun JDK6跟OpenJDK6在切代码的时候不一定是在同一天,所以同一个大版本号(例如HotSpot 20.0)里面的内容可能会稍微有点不一样。例子之一就是Oracle/Sun JDK6u25里有完整的tiered compilation系统的实现,而OpenJDK6对应的HotSpot 20.0却没包含这个实现;同一时间的OpenJDK7分支里的HotSpot VM又有这个功能,说明这个功能本身并不是啥私有功能,只是OpenJDK6切代码的时间有可能比Oracle/Sun JDK6u25早了点。 值得注意的是,Oracle JDK只发布二进制安装包,而OpenJDK只发布源码。 (编辑:随州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 优麒麟 22.04 LTS 版本正式推出
- 红魔宣布将发布 27 英寸 4K 160Hz 刷新率 Mini LED 显示器
- 用户通过跑腿买药被“掉包” 美团:建议通过“买药”专属频
- 消息称小米平板5将于4月27日与小米12Pro 一同在印度发布
- 中芯国际创始人张汝京去徐州做氮化镓了?本人回应未参与
- 英伟达 RTX 3090 Ti 显卡包装泄露,1 月 CES 发布
- 传冬兵和女浩克将一同加入《漫威复仇者联盟》
- 联想发售 Yoga Slim 7 Pro X 笔记本14.5英寸3K 120Hz屏
- 特斯拉拟推出自主品牌手柄与车载Arcade游戏功能使用
- 英特尔 i5-12400 评测出炉 能效显著提升,烤机功耗 73 瓦
站长推荐
热点阅读