如果我从Sun JDK切换到OpenJDK,我必须为自己做好准备吗?
经常出现什么问题,这有多难?
当然,每个应用程序都有各自的问题,但我正在寻找问题的类,这是很多人在切换JDK时已经遇到的问题。
答案 0 :(得分:11)
OpenJDK不太可能出现任何问题。它现在被认为是100%兼容。但我认为最好知道哪些部分必须重写,因此不使用与SunJDK相同的代码。
Wikipedia entry对此有一个很好的概述:
截至2008年5月,类库的唯一部分仍为专有和封闭源(截至2007年5月,OpenJDK 7为4%,截至2008年5月为止,不到1%,OpenJDK 6)是SNMP实现
自2007年5月发布以来,Sun Microsystems在社区的帮助下发布了免费和开源软件,或者用免费和开源替代品替换了几乎所有受限代码:
所有音频引擎代码(包括软件合成器)都已作为开源发布。闭源软件合成器已被专为OpenJDK开发的新合成器取代,名为Gervill,
类库中使用的所有加密类都已作为开源发布,
- 取代
缩放和栅格化字体的代码已被FreeType
本机色彩管理系统已被LittleCMS取代。 JDK中有一个可插拔层,因此商业版可以使用旧的颜色管理系统,而OpenJDK可以使用LittleCMS。
抗锯齿图形光栅化器代码已被phoneME项目中使用的开源双鱼座渲染器取代。此代码功能齐全,但仍需要一些性能增强,
JavaScript插件是开源的(Rhino JavaScript引擎本身从一开始就是开源的)。
答案 1 :(得分:3)
我知道字体会显得乱码,Sun不得不从OpenJDK中删除原始字体,因为它们不是'开源'而JVM会使用一些不太好的默认值...
答案 2 :(得分:2)
由于OpenJDK是Sun项目,基于原始的Java源代码,我不会指望很多问题。事物可能破坏的唯一区域是必须被替换的代码(因为它不能在GPL下发布)或由于新功能而改变(但那些应该与官方JDK中的几乎相同)。 / p>
答案 3 :(得分:1)
使用已知的OpenJDK构建来传递TCK以最大限度地减少意外。
答案 4 :(得分:1)
一些摆动用户界面并没有完全匹配(金属的衬垫已经足够引起注意)。请注意,这是8个月前。
答案 5 :(得分:1)
UPD :我不太确定OpenJDK本身没有浏览器插件。也许这最近改变了。
答案 6 :(得分:-1)
由于IcedTea,OpenJDK比Oracle二进制文件更安全。