Java/下载与安装JDK
上下文链接
[编辑]目录 上一节 HelloWorld 下一节 Java开发工具
JVM、JRE与JDK
[编辑]JVM是Java Virtual Machine的缩写,即Java虚拟机。与编译型语言不同,Java程序被编译成字节码,而不是本地码(处理器可以直接执行的二进制代码)。Java虚拟机的功能就是模拟一台Java处理器,执行Java字节码。早期的JVM采用解释执行,类似于解释脚本语言,因此效率较低。后来加入JIT(Just In Time)技术,在执行Java字节码时,将字节码翻译成本地码再由处理器执行,效率提高了很多。最近几年又加入了HotSpot技术,执行效率得到进一步提高。所谓HotSpot技术就是JVM在执行字节码时,并不是将所有的字节码都翻译成本地码,而是动态检查常用的(hot)的字节码,将它们翻译成本地码,以提高执行速度,而很少执行的字节码则采用解释执行,不会执行到的代码是不会被翻译成本地码的。这样做的好处是提高热代码的执行效率,避免翻译冷代码带来的开销。而事实上,通常的软件代码中只有很小一部分热代码,它们会被频繁执行,而大部分都是冷代码,很少会执行到,符合通常所说的2-8原则。令人高兴的是,Sun的Java虚拟机规范是公开的,也就是说任何第三方公司都可以实现自己的Java虚拟机。比如eclipse实现的OpenJ9(https://www.eclipse.org/openj9/)的虚拟机,据说执行效率比Sun提供的虚拟机高出很多。不过实际应用中,绝大多数人使用还是Sun的。
JRE是Java Runtime Environment的缩写,即Java运行时环境。JRE除了包括JVM外,还包括有Java平台的核心类库以及一些其他运行所需的文件(比如国际化支持的字符集和字体文件等)。JRE是执行Java程序的必要环境,因为虚拟机只能执行Java字节码,但是我们所编写的程序需要用到Java标准平台所提供的类库,没有这些核心库的支持,我们所编写的程序也是无法执行的。打个比方,JVM相当于一台具有Java处理器的计算机硬件系统,而JRE则相当于构建于JVM之上的操作系统,我们所编写的Java程序就相当于在操作系统上运行的应用程序。
JDK是Java Development Kit的缩写,即Java开发包,是专门开发Java程序的SDK。有了JRE可以运行Java程序,有了JDK才可以开发Java程序。JDK除了包含JRE中的必需文件之外,还包括开发Java程序所必需的编译器、调试器,以及一些方便开发Java程序其他工具。
下载、安装JDK
[编辑]目前主流的JDK有两个版本:JDK8在行业上应用最广,且已经相当稳定。
从JDK9开始,JDK的发布周期为每半年发布一般版本,每三年一个长期支持版。
普通版本只有半年的维护期,长期支持版有5年的维护期。
JDK8(ORACLE主要支持到2022年,扩展支持到2025年)与JDK11(ORACLE提供主要支持到2023年,扩展支持到2026年)为当前的长期支持版。
用户可以在http://www.oracle.com/technetwork/java/javase/downloads/index.html下载。
随着Java的不断更新升级,JDK的版本会不断变动。上面的信息可能已经过时,请以Oracle网站提供的版本信息为准。 |
Mac
[编辑]Mac下可以选择离线安装包,前往java官网下载dmg文件进行安装即可。
Windows
[编辑]Windows下可以选择离线安装包或者在线安装包。离线安装包将下载整个JDK安装程序到本地,安装的时候,计算机不需要连接到互联网。在线安装包只下载一个很小的安装程序,安装的时候,这个程序将连接到Oracle的网站上,边下载JDK,边安装。
Windows下的安装跟其他软件很相似,只需要简单的设置一下几个安装选项就行了,一般情况下,使用默认设置即可。
安装完成后,JDK安装程序会建议您进行注册。您可以忽略此信息,这不会影响您正常使用JDK;若您进行注册,将会获得Oracle提供的额外服务。
注:在安装之后可以将安装后的jdk文件夹打包压缩,以后安装jdk只需要解压此文件夹并配置相应的环境变量即可。
Linux
[编辑]Linux平台有几种安装JDK的方式,同时也有两种JDK可供选择。
- Oracle JDK,Oracle官方提供的JDK,商业授权,闭源软件
- OpenJDK,开源的JDK版本,开放授权,自由软件
目前很多Linux发行版已经默认采用OpenJDK,而将Oracle JDK移除了,如Ubuntu、Fedora、Debian、OpenSUSE。安装OpenJDK一般通过Linux自带的软件管理器、软件中心等安装,也可以通过命令行。
- 以Ubuntu为例,您需要运行Ubuntu软件中心,搜索OpenJDK或者JDK,然后找到OpenJDK6或者OpenJDK7进行安装。
- 以Fedora为例,您需要运行添加或删除软件包,搜索OpenJDK或者JDK,然后找到OpenJDK6或者OpenJDK7进行安装。
由于OpenJDK通常是由Linux发行版进行维护的,因此提供的OpenJDK版本可能不是最新的。这可能是出于新版本在此系统上还未稳定,有待进一步测试;或者是因为此操作系统版本不再提供OpenJDK更新,您需要转移到更新的平台上。 |
同时,Oracle JDK依旧可以从官方网站上下载到。Linux下的安装包,Oracle提供了两个版本,RPM包(二进制版本)和压缩文件(源代码版本)。 对于Debian和Ubuntu用户,可以使用源代码安装,亦可从社区获得他人打包的Deb安装包。
由于Linux发行版之间,甚至同一发行版的不同版本之间,都存在差异,Oracle提供的JDK不一定能够在特定的系统上稳定运行。Oracle也不能保证Oracle JDK在特定系统中运行良好。 |
Solaris
[编辑]Solaris可下载源代码进行安装,但需要注意处理器架构是否相符合。