linux DK和OpenJDK有什么具体的区别
2018-01-13 15:19
344 查看
Linux下的JDK和OpenJDK有什么具体的区别
大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk. openjdk是jdk的开放原始码版本,以GPL协议的形式放出。
openjdk只包含最精简的JDK
在安装openjdk的机器上,输入“java -version”显示的是openjdk
openJDK 与 Sun 的 JDK 功能都是一样的,只是版权信息不一样。
OpenJDK 公开了 JDK、JVM、JRE、Java 类库的源代码,而 Sun JDK 只公开了 Java 类库的源代码。
通过 LICENSE 文件可以看出 OpenJDK 是 GNU 许可证,而 Sun JDK 的 LICENSE 是 Java 许可证。
OpenJDK, Sun JDK, IBM JDK, Oracle JDK 等对于开发、运行没有什么问题。
1. Ctrl+Alt+T 打开终端执行以下命令:
sudo add-apt-repository ppa:openjdk-r/ppa输入你的sudo密码继续
2. 升级系统资源包并安装openjdk1.8:
sudo apt-get updatesudo apt-get install openjdk-8-jdk
3. 在多个JDK版本中切换JDK
sudo update-alternatives --config java选择你需要的JDK版本:
设置一个默认Java:
sudo update-alternatives --config javac
4. 检查JDK版本:
java -version输出以下信息表示成功
openjdk version “1.8.0_01-internal”
OpenJDK Runtime Environment (build 1.8.0_01-internal-b04)
OpenJDK 64-Bit Server VM (build 25.40-b08, mixed mode)
5.设置jdk环境变量
这里采用全局设置方法,它是是所有用户的共用的环境变量$sudo gedit ~/.bashrc
添加以下代码:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:JAVAHOME/lib:{JRE_HOME}/lib
export PATH=JAVAHOME/bin:PATH
相关文章推荐
- Linux下的JDK和OpenJDK有什么具体的区别
- Linux下的JDK和OpenJDK有什么具体的区别
- cdecl, stdcall, pascal,fastcall 都有什么区别,具体是什么调用约定?
- cdecl, stdcall, pascal,fastcall 都有什么区别,具体是什么调用约定?
- 64 位软件和 32 位有什么具体区别?
- 接口和抽象类具体有什么区别?
- ienumerable和iqueryable 语法上具体什么区别
- OSPF中224.0.0.5和 224.0.0.6两个地址的具体区别是什么?
- 在C++ MFC中Single document和Dialog based有什么具体的区别?
- 80端口跟8080端口有什么具体区别?
- 什么是作用域链,什么是原型链,它们的区别,在js中它们具体指什么?
- cdecl, stdcall, pascal,fastcall 都有什么区别,具体是什么调用约定?
- 什么是作用域链,什么是原型链,它们的区别,在js中它们具体指什么?
- cdecl, stdcall, pascal,fastcall 都有什么区别,具体是什么调用约定?
- 什么是作用域链,什么是原型链,它们的区别,在js中它们具体指什么?
- 最新android工程目录下armeabi-v7a,armeabi的具体含义,有什么区别
- 行内元素和块级元素的具体区别是什么?inline-block是什么?(面试题目)
- 瀑布模型、渐增模型/演化/迭代、原型模型、螺旋模型具体有什么区别?
- H5面试题---new操作符具体干了什么呢?和null和undefined的区别?
- 爱创课堂每日一题八十一天-行内元素和块级元素的具体区别是什么?行内元素的pad