以下文章来源方志朋的博客,回复”666“获面试宝典

借用知乎大神RednaxelaFX的文章分享下这个问题

Oracle JDK与OpenJDK里的JVM都是HotSpot VM。从源码层面说,两者基本上是同一个东西。

从JDK7开始,Oracle JDK里的HotSpot VM,在研发的时候其实就是用放在OpenJDK的Mercurial代码库。也就是说跟大家从外部能实时看到的OpenJDK用的是同一个代码库。

HotSpot VM只有非常非常少量的功能没有在OpenJDK里,那部分在Oracle内部的代码库里。这些私有部分都不涉及JVM的核心功能。

所以当一个Oracle员工要构建OpenJDK时,他要做的事情跟外面的人一样:从http://hg.openjdk.java.net签出代码,构建。

而当他要构建Oracle JDK时,他同样需要先从http://hg.openjdk.java.net签出OpenJDK,然后从Oracle内部的代码库签出私有的部分,放在OpenJDK代码下的一个特定目录里,然后构建。

这些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早了点。

OpenJDK原是SunMicrosystems公司为Java平台构建的Java开发环境(JDK)的开源版本,完全自由,开放源码。Sun Microsystems公司在2006年的JavaOne大会上称将对Java开放源代码,于2009年4月15日正式发布OpenJDK。甲骨文在2010 年收购SunMicrosystem之后接管了这个项目。

Oracle/Sun JDK里面包含的JVM是HotSpotVM,HotSpot VM只有非常非常少量的功能没有在OpenJDK里,那部分在Oracle内部的代码库里。这些私有部分都不涉及JVM的核心功能。所以说,Oracle/Sun JDK与OpenJDK其实使用的是同一个代码库。

从一个Oracle内部员工的角度来看,当他要构建OracleJDK时,他同样需要先从http://hg.openjdk.java.net签出OpenJDK,然后从Oracle内部的代码库签出私有的部分,放在OpenJDK代码下的一个特定目录里,然后构建。

值得注意的是,Oracle JDK只发布二进制安装包,而OpenJDK只发布源码。

来源 | https://www.zhihu.com/question/19882320

在这里,我为大家准备了一份2021年最新最全的《史上最简单的java面试题》,这套电子书涵盖了诸多java技术栈的面试知识题,是作者面试BAT大厂的前的总结,作者顺利拿下AT的offer,相信可以帮助大家在最短的时间内复习Java后端的大多数面试题,从而拿到自己心仪的offer。截了张图,大家可以仔细查看左边的菜单栏,覆盖的知识面真的很广,而且质量都很不错。资料获取方法扫描下方二维码
后台回复关键词:BAT
明天见(。・ω・。)

知乎高赞:OracleJDK和OpenJDK有什么区别?网友:不愧是大神的回答~相关推荐

  1. 知乎高赞:从源码层,拆解OracleJDK和OpenJDK有什么区别?网友:不愧是大神的回答~...

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 借用知乎大神Re ...

  2. “2021知乎高赞好物100”榜单揭晓 知乎为美好生活奉上参考答案

    10月26日,"2021知乎高赞好物100"榜单正式揭晓,上榜商品均在知乎有着较高搜索.热度和销量.榜单涉及食品.家居.休闲娱乐.美妆.数码3C等各品类好物,由各个相关领域的专业知 ...

  3. 5款知乎高赞的超牛软件,你一定要知道

    你的电脑上有哪些宝藏实用软件?今天来给大家分享5款知乎高赞的超牛软件,你一定要知道! 先收藏后评论!良心单品多多! Notion Notion是一款老牌的高质量个人知识管理软件. 它高效地帮助用户安排 ...

  4. 读书笔记第一篇:知乎高赞回答

    自从今年以来,生活发生了极大变化,自己也进入了30大关,开始奔四了.最近总觉得自己一事无成,无论物质还是精神上都没有得到满足,而且自己一个游戏程序员,越来越觉得逐渐被淘汰.所以想到的第一个挣扎的办法, ...

  5. 知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)

    知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问"中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?" 事实上,还不少呢~ 本人于201 ...

  6. 知乎高赞,6款办公工具,小白逆袭成职场大神

    与其想着加班到几点,不如考虑如何做到上班高效"摸鱼",下班准点回家,工资还能往上涨! 今天小编为大家找到了知乎高赞的6款实用工具推荐,办公不翻车,小白逆袭成职场大神. 01.ppt ...

  7. 知乎高赞:35岁失业的程序员,都去了哪儿?

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨临公子 来源丨临公子的后花园(ID:hi-li ...

  8. 为啥程序员撕996建筑人不撕007?——晒知乎高赞沙雕回答,和说说工程师文化

    轻友们大家好~我是珍妮兔,一只工程效率顾问.我的日常生活是在不同的软件研发团队和大家聊天,给大家分享各种轻松把软件做好的最佳实践.如果你有特别想要解决的问题,不妨加我的个人微信:jenny1652告诉 ...

  9. 爬取知乎高赞情话,甜蜜过七夕

    又是一年一度的七夕情人节了! 有女朋友的就牵好手,有男朋友的就抱紧腿,什么都么得的小伙伴就带好装备,静静的吃狗粮就ok了. 在这个到处都冒着粉红泡泡的日子,不做点什么都不太好意思. 作为一名合格的代码 ...

最新文章

  1. 用Scrum敏捷开发工具Leangoo做Sprint迭代管理
  2. .NET MVC Filter异常处理
  3. 应用于服务供应商网络的IP+光纤业务实现解决方案
  4. OpenCV‘s Kalman filter卡尔曼滤波器的实例(附完整代码)
  5. 【Tools】Bandicam安装和卸载
  6. python的普通方法、类方法和静态方法
  7. java search 不能使用方法_java – 无法使用TERMS QUERY从ELASTIC SEARCH查询字母数字字段...
  8. 从酷睿双核到Tiger Lake-H,英特尔如何帮游戏笔记本完成蜕变
  9. HTML dfn元素
  10. treeReduce和reduce
  11. python mysql connector
  12. matlab排队模型和排队系统仿真
  13. H5网页实现录音并转换为文字
  14. linux下dbf是什么文件,DBF文件怎么打开?DBF文件的打开方法教程
  15. SHA生成消息摘要的过程
  16. 计算机语言中block,plo(计算机编程语言)_百度百科
  17. led灯条串联图_一种串联控制LED灯条的制作方法
  18. 计算机 软件工程 应不应该考研?(二)
  19. 未配置appkey或配置错误---uni-app
  20. 120M硬盘的jslinux

热门文章

  1. 人生曲线——我们不拥有将来,只拥有此刻
  2. 2018/5/1 ----1986年图灵奖PPT
  3. 2018-3-23论文一种新型智能算法--狼群算法(笔记三)实验分析单峰,多峰,可分和不可分函数
  4. HTML与XML总结
  5. adoquery查询结果如何赋给一个变量(delphi和c++ builder)
  6. 安装SQL SERVER2000提示注册表文件被挂起的解决方案
  7. 线性代数:第一章 线性方程组
  8. 如何利用 C# 爬取带 Token 验证的网站数据?
  9. LSGO:祝大家新年快乐!
  10. 马斯克嘲笑「元宇宙」的想法,并给年轻人5条鸡汤