一.什么是JDK?
以度娘上的解释:JDK(Java Development Kit)是SUN公司(09年被oracle公司收购现在属于oracle公司)针对Java开发人员发布的免费软件开发工具包(SDK,Software Development Kit)。JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。
说白了JDK就是:java开发所需的工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。 如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。
二.什么是OpenJDK?
历史上的原因是,OpenJDK是JDK的开放源码版本,也就是在09年的时候Sun公司由于各种原因被Oracle收购,即将被收购时Sun公司将JDK开源于是就出现了OpenJDK,open就是开发开源的意思,开放JDK源代码可供让全世界IT开发者学习。
三.JDK与OpenJDK主要区别是什么?
区别在技术逻辑概念的东西太多大家可以取百度上查查,反正很多,
我这就是讲比较通俗易懂的区别:现在JDK归属于Oracle公司,所以每年(每年可能不太准确应该是每次)Oracle公司发布新版的JDK时会发布两个版本:一个是加了一些自己Oracle公司的商业技术的JDK (就类似在一个纯净的软件上加了一些自己的插件等) ,另一个是OpenJDK(也就是一般没有加任何其他插件的纯净版的JDK)。即便是这样JDK与OpenJDK源代码差距也微乎其微,几乎也可以认为是一模一样。
Oracle发布OpenJDK后,全球各大公司比如IBM,FaceBook以及阿里巴巴等等,这些公司获取到OpenJDK后就可以加上自己公司的一些商业技术插件然后就形成了自己公司的JDK了。打个比方类似于手机系统中谷歌开源的安卓系统,谷歌每发布更新一次安卓版本,各大手机厂家在基于安卓系统上开发出属于自己公司的系统,例如:小米的MIUI系统,VIVO,OPPO,华为(虽然现在华为用自己鸿蒙了)等都有自己公司开发出来的安卓系统,但是这些系统前提都是基于谷歌的安卓系统开发而来的。
现在我们学Java的一般默认用的JDK是Oracle公司版的JDK(毕竟Oracle是Java语言它亲爹嘛同时技术也是最完备的嘛)
END 到这里你应该大致懂JDK与OpenJDK区别了吧!
|