摘要:使用,研究授权协议发布。两者协议虽然都是开放源代码的,但是在使用上的不同在于允许在商业上使用,而只允许个人研究使用。而则为这些不完整的部分开发了相同功能的源代码,促使更加完整。
OpenJDK 还是 SunJDK?
由于刚开始接触Linux,所以在搜索如何安装jdk的问题上,有了不同的说法,其中有一种安装是直接安装OpenJDK,还有一种方法下载官方网站的SunJDK,那么两个区别是什么呢?下面是知乎的网友给出的见解。
作者:Aloys寒风 链接:https://www.zhihu.com/question/19646618/answer/40621705 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK,那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢?
历史上的原因是,OpenJDK是JDK的开放原始码版本,以GPL(General Public License)协议的形式放出(题主提到的open就是指的开源)。在JDK7的时候,OpenJDK已经作为JDK7的主干开发,SUN JDK7是在OpenJDK7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch License,Java研究授权协议)发布。至于OpenJDK6则更是有其复杂的一面,首先是OpenJDK6是JDK7的一个分支,并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准。关于JDK和OpenJDK的区别,可以归纳为以下几点:
授权协议的不同:OpenJDK采用GPL V2协议放出,而SUN JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。
OpenJDK不包含Deployment(部署)功能:部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在OpenJDK中是找不到的。
OpenJDK源代码不完整:这个很容易想到,在采用GPL协议的OpenJDK中,SUN JDK的一部分源代码因为产权的问题无法开放给OpenJDK使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。因此这些不能开放的源代码 将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。而Icedtea则为这些不完整的部分开发了相同功能的源代码 (OpenJDK6),促使OpenJDK更加完整。
部分源代码用开源代码替换:由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。OpenIDK只包含最精简的JDK:OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP……,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。
不能使用Java商标:这个很容易理解,在安装OpenJDK的机器上,输入“java-version”显示的是OpenJDK,但是如果是使用Icedtea补丁的OpenJDK,显示的是java。
总之,在Java体系中,还是有很多不自由的成分,源代码的开发不够彻底,希望Oracle能够让JCP更自由开放一些,这也是所有Java社区所希望的。
参考文章:
java - What is the difference between JVM, JDK, JRE & OpenJDK?http://blog.softrayn.com/2012...
Oracle JDK 和openJDK 有99.9%的代码是一样的,所以对于普通开发者没有影响,为了日后少操些心,我还决定用官方的版本吧。
安装SUN / Oracle JDK在官网下好版本。
2.创建一个目录作为JDK的安装目录.
`sudo mkdir /java`
移动文件到/java目录下
sudo mv /home/dreamer/下载/jdk-8u161-linux-x64.tar.gz /java
解压文件
解压文件之前,先cd到java文件夹下面。
sudo tar -zxvf /java/jdk-8u161-linux-x64.tar.gz
配置环境
sudo vim /etc/environment
配置请替换自己的文件夹。
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin" export CLASSPATH=“.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib” export JAVA_HOME=”/java/jdk1.8.0_121“
输入
source /etc/environment是环境变量立即生效。
输入java -version显示成功则说明安装成功。
7.这个时候还没有结束,电脑重启之后就用不了了,所以还需要配置所有用户的环境变量
sudo vim /etc/profile
在文件的最后添加以下内容:
#set Java environment export JAVA_HOME=/java/jdkXXX export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
8.同样,需要使用命令使环境变量立即生效
source /etc/profile
至此JDK就安装成功了!!
eclipse 下载。。。。(逃。。。。下载太慢 ,所以我觉得还是下载idea吧。。。。
可能这个原因使得idea份额变大的原因吧(逃。。。。
好了,下面是idea的下载安装
同样的道理。
官方下载IDEA,其中有一个是without JDK,但是我还是下载了含有JDK的版本,因为我怕后面事情多,毕竟新手,所以也建议大家下载一个比较全的版本吧。
移动到安装目录
解压
4.运行,在安装目录运行的bin目录执行。
`./idea.sh`
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68678.html
摘要:安装系统软件更新系统和软件谷歌浏览器,火狐浏览器,编辑器,编辑器,安装搜狗输入法官网,安装配置搜狗输入法安装下载并新建一个文件夹解压文件设置环境变量设置文件或者编辑全局文件检查是否安装成功打开安装版本迭代较快,有时候需要检查 安装系统软件 更新系统和软件 sudo apt-get update sudo apt-get upgade 谷歌浏览器,火狐浏览器,atom编辑器,sub...
摘要:前言配置环境变量的前提准备的安装环境变量的配置验证环境变量是否配置完成的安装的初步使用使用教程前言相信大家都是刚刚接触学习的小学渣们。配置环境变量的前提准备的安装是语言的灵魂,所以无不。 前言: 配置环境变量的前提准备(JDK11的安装): 环境变量的配置 验证环境变量是否配置完成 ecli...
阅读 3653·2021-09-07 10:19
阅读 3596·2021-09-03 10:42
阅读 3555·2021-09-03 10:28
阅读 2516·2019-08-29 14:11
阅读 766·2019-08-29 13:54
阅读 1547·2019-08-29 12:14
阅读 377·2019-08-26 12:12
阅读 3578·2019-08-26 10:45