JDK本质上也是一种JSR文件,而Sun JDK也就是标准JDK的参考实现,IBM也可以根据JSR实现自己的IBM JDK。Sun公司在06年宣告Java开放源代码,在JDK7 b10开始有了OpenJDK,并在09年正式发布OpenJDK。但实际上这种是不够彻底的开源。
OpenJDK与Sun JDK区别如下 。
区别1,授权协议不同,前者采用GPL V2允许商业使用;后者采用JRL只允许个人研究。
区别2,OpenJDK不包括Deployment(部署)功能。
区别3,OpenJDK源代码不完整,无法通过TCK兼容测试,所以不能使用Java商标。
区别4,部分源代码因授权问题,OpenJDK使用其他开源代码替换,来实现同样功能。比如字体栅格化引擎使用Free Type代替。
区别5,OpenJDK只包含最精简的JDK,不包含其他的软件包,比如Rhino Java DB JAXP……可分离的软件包自行下载。
为了解决这一问题,Red Hat在07年发布IcedTea计划,致力于修补OpenJDK使之完备,并通过了TCK兼容测试。