如果我从 Sun JDK 切换到 OpenJDK,我需要为哪些惊喜做好准备?

2022-09-01 06:16:20

如果我从 Sun JDK 切换到 OpenJDK,我需要为哪些惊喜做好准备?

什么经常出错,这有多难?

当然,每个应用程序都有其各自的问题,但我正在寻找问题类别,许多人在切换JDK时已经遇到了麻烦。


答案 1

OpenJDK不太可能出现任何问题。到目前为止,它被认为是100%兼容的。但我认为知道哪些部分必须重写并且是件好事,因此没有使用与SunJDK相同的代码。

维基百科条目对此有很好的概述:

截至 2008 年 5 月,类库中唯一保留专有和闭源的部分(截至 2007 年 5 月,OpenJDK 7 为 4%,截至 2008 年 5 月和 OpenJDK 6 的这一比例不到 1%)是 SNMP 实现。

自2007年5月发布以来,Sun Microsystems在社区的帮助下,已经发布了自由和开源软件,或者用自由和开源的替代品取代了几乎所有的阻碍代码:

  • 所有音频引擎代码,包括软件合成器,都已作为开源发布。闭源软件合成器已被专门为OpenJDK开发的名为Gervill的新合成器所取代,

  • 类库中使用的所有加密类都已作为开源发布,

  • 缩放和栅格化字体的代码已被 FreeType 取代

  • 原生色彩管理系统已被 LittleCMS 取代。JDK中有一个可插拔层,因此商业版本可以使用旧的色彩管理系统,OpenJDK可以使用LittleCMS。

  • 抗锯齿图形光栅器代码已被phoneME项目中使用的开源双鱼座渲染器所取代。此代码功能齐全,但仍需要一些性能增强,

  • JavaScript插件是开源的(Rhino JavaScript引擎本身从一开始就是开源的)。


答案 2

据我所知,字体看起来会乱码,Sun不得不从OpenJDK中删除原始字体,因为它们不是“开源的”,JVM将使用一些不太好的默认值......


推荐