<< 新闻中心

国产化OpenJDK技术说明


——国产化OpenJDK与Sun JDK、Oracle JDK区别

2020-06-20 11:07:37 作者 书写人生

    国产化技术要求因被国外技术出口管制,对国产化技术&开源技术开发要求越来越严格,从Tomcat国产化到数据库国产化,再到JDK国产化要求。今天就历史经验而谈,讨论一下国产化OpenJDK软件开发应该注意哪些问题。

JDK历史         

   历史上的原因是,OpenJDKjdk的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,OpenJDK已经成为jdk7的主干开发,SUN JDK7是在OpenJDK7的基础上发布,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch LicenseJava研究授权协议)发布。

OpenJDK只含最精简的JDK

   OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP等等,并且可以分离的软件包也都是尽量的分离。所以OpenJDK的安全程序比较小,则需要的软件jar包都必须自行配置,管理兼容性等问题。

   精简JDK有什么问题?

   以缺失的Rhino软件包为例,Rhino 是一个完全使用Java语言编写的开源JavaScript实现。Rhino通常用于在Java程序中,为最终用户提供脚本化能力。它被作为J2SE 6上的默认Java脚本化引擎。

   所以如果软件开发过程中采用了高级脚本引擎技术,则可能涉及到OpenJDK缺失软件包,则需要用户自行适配。

   项目技术选型,则需要充分了解OpenJDK特性。

OpenJDK不包含Deployment(部署)功能

   部署的功能包括:Browser PluginJava Web Start、以及Java控制面板,这些功能在OpenJDK中是找不到的。

   如何理解Browser PluginJava Web StartJDK的影响?

   JavaTM Web Start 是基于 Java 技术的应用程序的一种部署解决方案。 它是连接计算机和 Internet 的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理。

   Java Web Start 软件将整个应用程序高速缓存(存储)到本地计算机上。这样,所有必需的资源都已保存在本地,因此以后再次启动时几乎可以瞬间完成。每次启动应用程序时,Java Web Start 软件组件都会检查应用程序的 Web 站点以确定是否有新的版本;如果有,则立即下载并启动新版本。

   总结Java Web Start:如果开发团队没有采用全自动化流程管理部署以及用户不需要在Browser可视化下管理部署程序,缺失的Deployment功能基本没有影响。

OpenJDK授权协议

   OpenJDK采用GPL V2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。

OpenJDK源代码不完整

   在采用GPL协议的OpenJDK中,SUN JDK的一部分源代码因为产权的问题无法开放OpenJDK使用,最主要是JMX中的可选元件SNMP的代码。这些不能开放的源代码已经被制作成plugin,以供OpenJDK编译时使用,你也可以选择不使用plugin

部分源代码用开源代码替换

   由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。

综上所述:

   OpenJDK是一个开源的精简版本JDK,缺失了部分功能,当然,缺失的99%功能模块都可以在开源社区找到自行补充。但在开发技术选型和架构过程中,需要充分考虑架构依赖,根据我司历史项目经验,应及时采用正式生产环境进行开发,以排除后期不可弥补的错误。

 

    想了解更多国产化技术信息,欢迎致电我司技术研发,为您提供更完整的解决方案。

    公司名称:四川书写人生科技有限公司

    通信地址:成都市金牛区兴盛西路2号固特大厦3幢A座405A

    公司座机:028-83410634

    微信电话:191-8044-7517

    联系邮件:admin@skycto.com

    我们承诺:邮件12小时回,微信4小时回复,欢迎致电联系。




推荐阅读

首页 分享微博 分享微信 回到顶部