OpenJDK和SunJDK以及JRE有什么区别

区别有:1、授权协议的不同;2、OpenJDK不包含Deployment(部署)功能;3、OpenJDK源代码不完整;4、部分源代码用开源代码替换;5、OpenIDK只包含最精简的JDK。6、不能使用Java商标。OpenJDK采用GPL V2协议放出,而SUN JDK则采用JRL放出,而JRL只允许个人研究使用。

OpenJDK和SunJDK以及JRE有什么区别-Worktile社区

1、授权协议的不同

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

2、OpenJDK不包含Deployment(部署)功能

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

3、OpenJDK源代码不完整

在采用GPL协议的OpenJDK中,SUN JDK的一部分源代码因为产权的问题无法开放给OpenJDK使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。

因此这些不能开放的源代码 将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。

而Icedtea则为这些不完整的部分开发了相同功能的源代码 (OpenJDK6),促使OpenJDK更加完整。

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

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

open jdk 对于crypto等包是开源的。而Sun JDK,现在已经归为Oracle 所有,javax.caypto 包中的源代码内容是不可见的。(你可以尝试在Eclipse点击查看源代码试试,是不行的)

5、OpenIDK只包含最精简的JDK

OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP……,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。

6、不能使用Java商标

这个很容易理解,在安装OpenJDK的机器上,输入”java -version”,显示的是OpenJDK,但是如果是使用Icedtea补丁的OpenJDK,显示的是java。

延伸阅读:

什么是JDK?

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。

SE(JavaSE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。

EE(JavaEE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。从2018年2月26日开始,J2EE改名为Jakarta EE。

ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。

文章标题:OpenJDK和SunJDK以及JRE有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38152

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月14日 下午8:05
下一篇 2023年2月14日 下午8:07

相关推荐

  • 数控编程w0.3代表什么

    在数控编程中,W0.3 通常代表刀具的偏置值或者工件坐标系统的微调。具体来说,这个参数用于调整刀具路径以适应加工精度的需求,确保加工质量。W0.3表示将刀具或工件坐标在某一轴向(通常是Z轴)上微调0.3单位,具体单位依据数控机床的设置而定,可能是毫米或英寸。 一、数控编程基础 在深入讨论W0.3的具…

    2024年4月29日
    4800
  • 学数控编程用什么配置电脑

    学习数控编程,选择合适的电脑配置至关重要。1、高性能的CPU、2、足够的内存大小、3、高效的显卡、4、快速的存储设备以及5、稳定的电源和散热系统构成了理想的电脑配置。针对这些要求,高性能的CPU不仅能够提供足够的计算能力来处理复杂的数控程序,还能有效地支持多任务处理,这对于编程过程中频繁的编码、仿真…

    2024年4月27日
    4400
  • 编程先学什么再学什么

    学习编程通常遵循以下顺序:1、掌握基础编程概念、2、学习一门编程语言、3、实践编程练习与项目、4、学习数据结构与算法。在这个过程中,重点是逐步构建编程思维,而开始学习一门编程语言是旅程中的关键一步。对初学者来说,选择一种广泛使用且具有良好学习资源的语言,例如Python或Java,将大大降低学习难度…

    2024年5月2日
    2800
  • 数控编程培养孩子学什么

    数控编程可以培养孩子的逻辑思维能力、问题解决技巧、工程理解和创新能力。以逻辑思维能力为例,数控编程要求孩子们按照严格的逻辑顺序和指令集去操作机械,这个过程要求他们思考问题的方式必须是清晰、结构化的。孩子们在编写和调试程序时,需要不断地使用逻辑思考来检验和排除错误,从而提高他们处理复杂问题的能力。 一…

    2024年5月6日
    1500
  • 俄罗斯编程什么水平

    俄罗斯在全球编程领域的水平堪称一流,主要表现在以下几个方面:1、顶尖的科学教育基础、2、在国际编程竞赛中的杰出表现、3、对算法和数学的深入挖掘、4、有力的技术创新和开发能力。在这其中,俄罗斯的科学教育体系是支撑其编程实力的根基,尤其在数理逻辑和算法设计领域,俄罗斯的教育机构如圣彼得堡国立大学和莫斯科…

    2024年5月9日
    600
  • 想学编程先学什么好处

    编程基础、逻辑思维能力、语言选择 是学习编程之前应该着重考虑的三个核心点。特别是编程基础这一点,它包括基础的计算机概念、操作系统知识以及一些简单的编程逻辑和算法,这些基础知识对后续学习具体编程语言和技术有着扎实的支撑作用。 深入探究逻辑思维能力,我们发现它在编程学习中起着至关重要的角色。编程不仅仅是…

    2024年5月6日
    1100
  • 火箭系统是什么编程

    火箭系统依靠复杂的控制算法、结构设计和推进技术来实现其宇宙任务。在编程方面,1、多种编程语言和仿真工具被用于开发;2、硬实时操作系统保证系统及时响应;3、容错机制确保系统的可靠性;4、特定的编码标准提供指南以保障软件质量。 针对多种编程语言和仿真工具的应用,火箭系统的软件开发需要支撑极端的工作环境和…

    2024年5月9日
    500
  • 编程大数是什么

    编程中的大数处理 在编程中处理超出标准数据类型最大值的整数,我们称之为大数处理。这通常涉及到两个核心方面:1、特定的数据结构用于存储这些大数;2、相应的算法来执行基本算术运算。其中,特定的数据结构的设计是关键,因为它直接影响到算法的效率和实现的复杂度。 对于数据结构的选取和设计,一般采用数组或者链表…

    2024年5月2日
    3300
  • 编程开头第一句叫什么

    编程开头第一句通常被称为“入口语句”,它在不同的编程环境中有着不同的形式。例如,在C语言中,入口语句是int main(),这标示着程序的开始点,编译器会从这里开始执行代码。在Java中,它表现为public static void main(String[] args),而对于Python这样的脚…

    2024年4月27日
    5500
  • java编程软件用什么软件

    Java开发通常使用的软件有Eclipse、IntelliJ IDEA和NetBeans。 Eclipse是一个开放源代码的、多语言、集成开发环境(IDE),它非常适合企业级的Java开发。IntelliJ IDEA被认为是Java开发者社区中最智能且功能丰富的IDE之一。NetBeans同样是一个…

    2024年5月6日
    1600

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部