Java开发的基石:JDK
Java开发的基石: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程序的调试等等