Java开发的基石:JDK
温馨提示:这篇文章已超过439天没有更新,请注意相关的内容是否还可用!
Java开发的基石:JDK
- 前言
- 一、引入
- 二、JDK的发展历程
- 三、JDK主要目录结构解析
- 四、JDK的使用
前言
本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!
(图片来源网络,侵删)一、引入
JDK是Java Development Kit的缩写,是Java开发工具的核心组件。JDK包含了Java编译器、Java运行时环境、Java API类库和其他工具,用于开发、编译、运行和调试Java应用程序。JDK是Java开发的基础,是Java程序员必须掌握的工具之一。
二、JDK的发展历程
JDK有很多版本,每个版本都有自己的特点和功能。目前,最新的稳定版本是JDK 17,而最广泛使用的版本是JDK 8。下面是JDK的版本历史:
- JDK 1.0:Java的第一个版本,于1996年1月发布。
- JDK 1.1:于1997年2月发布,增加了内部类、JavaBean、RMI等功能。
- JDK 1.2:于1998年12月发布,引入了Swing、Java 2D和JavaBeans组件体系结构。
- JDK 1.3:于2000年5月发布,增加了Java Sound、Java Naming and Directory Interface (JNDI) 和Java Platform Debugger Architecture (JPDA) 等功能。
- JDK 1.4:于2002年2月发布,增加了Java Web Start、Java Management Extensions (JMX) 和Java Native Interface (JNI) 扩展功能。
- JDK 5:于2004年9月发布,增加了Java语言的自动装箱、泛型、枚举和注解等特性。
- JDK 6:于2006年12月发布,增强了JDBC、Java Web Services和Java Compiler API等功能。
- JDK 7:于2011年7月发布,引入了新的语言特性、NIO 2.0和Fork/Join Framework等功能。
- JDK 8:于2014年3月发布,增加了Lambda表达式、Stream API和Date Time API等新特性。
- JDK 9:于2017年9月发布,增加了模块化、REPL和HTTP/2支持等新特性。
- JDK 10:于2018年3月发布,增加了局部变量类型推断、应用类数据共享和垃圾回收器接口等新功能。
- JDK 11:于2018年9月发布,增加了HTTP Client API、ZGC垃圾回收器和Epsilon垃圾收集器等新特性。
- JDK 12-16:于2019年3月至2021年3月期间发布,引入了新的语言特性、JVM特性和垃圾收集器等功能。
- JDK 17:于2021年9月发布,增加了Sealed类、Pattern Matching for switch、Vector API和Foreign Function and Memory API等新特性。
从JDK1.4到JDK5,命名格式为何如此大变化?
JDK命名从1.4变成5的主要原因是,JDK5这个版本引入了许多新特性,发生了巨大变化,为了更好地反映Java技术的发展和进步,以更直观的方式展示Java的版本号。
三、JDK主要目录结构解析
在JDK 8中,JDK的主要目录结构如下:
jdk1.8.0/ ├── bin/ │ ├── appletviewer │ ├── extcheck │ ├── idlj │ ├── jar │ ├── jarsigner │ ├── java │ ├── javac │ ├── javadoc │ ├── javafxpackager │ ├── javah │ ├── javap │ ├── java-rmi.cgi │ ├── javaws │ ├── jcmd │ ├── jconsole │ ├── jdb │ ├── jinfo │ ├── jmap │ ├── jps │ ├── jrunscript │ ├── jsadebugd │ ├── jstack │ ├── jstat │ ├── jstatd │ ├── keytool │ ├── native2ascii │ ├── orbd │ ├── pack200 │ ├── policytool │ ├── rmic │ ├── rmid │ ├── rmiregistry │ ├── schemagen │ ├── serialver │ ├── servertool │ ├── tnameserv │ ├── unpack200 │ └── wsgen ├── include/ │ └── *.h ├── jre/ │ ├── bin/ │ ├── lib/ │ ├── plugin/ │ ├── COPYRIGHT │ ├── LICENSE │ ├── README │ └── THIRDPARTYLICENSEREADME.txt ├── lib/ │ ├── tools.jar │ ├── dt.jar │ ├── jconsole.jar │ ├── missioncontrol │ ├── visualvm │ ├── ant-javafx.jar │ ├── ant-junit.jar │ ├── ant-launcher.jar │ ├── ant.jar │ ├── jfxswt.jar │ ├── javafx-mx.jar │ ├── jfr │ ├── jfr.jar │ ├── jfxrt.jar │ └── management-agent.jar ├── src.zip ├── COPYRIGHT ├── LICENSE └── README.html
下面是这些目录的作用:
-
bin/:该目录包含了Java开发和执行所必需的核心工具和实用程序。其中包括javac用于编译Java源代码、java用于运行Java应用程序、jar用于创建和操作Java归档文件等工具。还有其他的工具用于故障排除和调试,例如jconsole、jvisualvm、jstack等等。
-
include/:该目录包含了用于使用Java Native Interface (JNI) 开发本地扩展所需的C头文件。JNI是一种编程框架,允许Java应用程序调用用C或C++编写的本地代码。
-
jre/:该目录包含了Java Runtime Environment (JRE),用于运行Java应用程序。JRE包括Java虚拟机 (JVM)、类库和其他运行Java应用程序所需的文件。jre/bin/ 目录包含了用于启动JRE的可执行文件,例如 java、javaw 和 javaws。
-
lib/:该目录包含了Java库和工具,例如 tools.jar、jfxswt.jar、jfxrt.jar 等等。这些文件通常用于开发Java应用程序。其中tools.jar是开发Java应用程序所需的核心库,它包含了Java编译器 (javac) 和其他开发工具。jfxswt.jar 和 jfxrt.jar 是JavaFX 库的一部分,用于开发富客户端应用程序。
-
src.zip:该文件是JDK的源代码压缩包,包含了Java开发工具和库的源代码。这些源代码可以用于学习JDK的内部实现和调试。
-
COPYRIGHT:该文件包含了JDK的版权声明。
-
LICENSE:该文件包含了JDK的许可证。
-
README.html:该文件包含了JDK的基本信息和使用说明。
这些目录包含了Java开发和执行所必需的工具、库、文件和源代码。其中,bin/目录是最重要的一个目录,因为它包含了Java的核心工具,可以在终端中使用。
四、JDK的使用
-
要使用JDK进行Java开发,需要将JDK安装到计算机上,并配置Java环境变量(具体怎么安装,网上教程一大把)。安装完JDK后,可以使用命令行工具或集成开发环境(IDE)进行Java开发。
-
在命令行中,可以使用javac编译Java源代码,生成字节码文件,然后使用java命令运行字节码文件。例如:
javac HelloWorld.java java HelloWorld
- 在IDE中,可以使用IDE提供的代码编辑器、自动完成、调试器等功能,大大提高开发效率和代码质量。常见的Java IDE包括Eclipse、IntelliJ IDEA和NetBeans等。
- 除了Java开发,JDK还提供了丰富的工具和组件,用于性能优化、调试和诊断等。例如,jstat可以监控JVM的性能指标,jmap可以生成堆转储文件,jdb可以进行Java程序的调试等等
