JDK(Java development kit)
JDK全称为Java SE development kit,即Java标准开发包,是oracle提供的一整套用于开发Java应用程序的开发工具包,它提供编译、运行Java程序所需的各种工具和资源,其中包括:Java编译器,Java运行时环境,以及常用的Java类库等。
- Java开发工具:jdk\bin目录下
- 基础开发类库:jdk\jre\lib\rt.jar
- 类库源码:jdk\src.zip
JRE:全称Java Runtime Environment,即Java运行时环境。它是Java程序的环境,是运行Java的必须条件。
JVM:Java Virtual Machine,即Java虚拟机,JRE包含了JVM。JVM是运行Java程序的核心虚拟机。实现程序跨平台运行。
一、JDK的基本组件
- javac : java编译器,是用于将源程序转换成字节码。
- Java:Java运行程序,用于运行编译器编译后的Java字节码文件。
- jar : Java的打包工具,可以将相关的一系列文件打包成一个可运行的jar包。
- javadoc : 文档生成器,它是用于将代码中的注释提取出来生成一个文档,方便查阅(一般都是HTML文件)。
- jdb : Java的Debugger,是一个查错工具。
- appletviewer : 小程序浏览器,它是一种执行HTML文件上的Java小程序的Java浏览器。
- javah : 产生可以调用Java过程的C过程。
- javap : Java的反编译器。用于查看编译文件(字节码.class文件)中的可访问的属性和方法,显示字节码的含义。
- jconsole : Java进行系统调试和监控的工具。
二、JDK版本介绍及其新特性
LTS:长期维护的版本。现在开发主流使用的时JDK8,维护到2030年。JDK11也是LTS版本,维护到2026年。
各版本的新特性:
- JDK5:Enum、泛型、自动拆装箱、可变参数和增强for循环等。
- JDK6:支持脚本语言、JDBC4.0API。
- JDK7:try-with-resources、switch语句支持String类型数据、NIO2.0包。
- JDK8(LTS):Lambda表达式、Stream API、新的日期时间API、构造器引用、方法引用。
- JDK9:模块化系统、Jshell。
- JDK10:局部变量的类型推断。
- JDK11(LTS):ZGC的引入、Epsilon GC。
- JDK12:switch表达式、Shenandoah GC、增强G1。
- JDK13:switch表达式引入yield、文本块。
- JDK14:instanceof模式识别、Records、弃用 Parallel Scavenge + Serial GC 组合、删除CMS GC。
- JDK15: EdDSA 数字签名算法、封闭类(预览特性)、隐藏类、重新实现 DatagramSocket API等。
- JDK16:支持类型匹配的
instanceof、
新的打包工具jpackage、
可弹性伸缩的元数据区、提供操作外部内存的能力等。
三、JDK下载及安装
1、打开浏览器,JDK连接https://www.oracle.com/java/technologies/javase-downloads.html,根据自己的需求选择JDK版本。
2、以JDK11为例,安装Windows版本
exe:是JDK的安装程序,直接下载双击安装到所需的目录,需要手动设置安装路径进行安装,安装成功后,才可以运行。
zip压缩版:JDK的压缩包,里面包含完整的JDK程序文件,Zip无需安装,直接解压到所需的路径下即可运行。
四、JDK的环境变量配置
可以下载多个版本的JDK,根据项目需求在系统环境变量中进行配置即可,不同版本的JDK放在不同路径下,需要更换时设置环境变量。高版本JDK兼容低版本JDK。
待续。。。