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的版本历史:

  1. JDK 1.0:Java的第一个版本,于1996年1月发布。
  2. JDK 1.1:于1997年2月发布,增加了内部类、JavaBean、RMI等功能。
  3. JDK 1.2:于1998年12月发布,引入了Swing、Java 2D和JavaBeans组件体系结构。
  4. JDK 1.3:于2000年5月发布,增加了Java Sound、Java Naming and Directory Interface (JNDI) 和Java Platform Debugger Architecture (JPDA) 等功能。
  5. JDK 1.4:于2002年2月发布,增加了Java Web Start、Java Management Extensions (JMX) 和Java Native Interface (JNI) 扩展功能。
  6. JDK 5:于2004年9月发布,增加了Java语言的自动装箱、泛型、枚举和注解等特性。
  7. JDK 6:于2006年12月发布,增强了JDBC、Java Web Services和Java Compiler API等功能。
  8. JDK 7:于2011年7月发布,引入了新的语言特性、NIO 2.0和Fork/Join Framework等功能。
  9. JDK 8:于2014年3月发布,增加了Lambda表达式、Stream API和Date Time API等新特性。
  10. JDK 9:于2017年9月发布,增加了模块化、REPL和HTTP/2支持等新特性。
  11. JDK 10:于2018年3月发布,增加了局部变量类型推断、应用类数据共享和垃圾回收器接口等新功能。
  12. JDK 11:于2018年9月发布,增加了HTTP Client API、ZGC垃圾回收器和Epsilon垃圾收集器等新特性。
  13. JDK 12-16:于2019年3月至2021年3月期间发布,引入了新的语言特性、JVM特性和垃圾收集器等功能。
  14. 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

下面是这些目录的作用:

  1. bin/:该目录包含了Java开发和执行所必需的核心工具和实用程序。其中包括javac用于编译Java源代码、java用于运行Java应用程序、jar用于创建和操作Java归档文件等工具。还有其他的工具用于故障排除和调试,例如jconsolejvisualvmjstack等等。

  2. include/:该目录包含了用于使用Java Native Interface (JNI) 开发本地扩展所需的C头文件。JNI是一种编程框架,允许Java应用程序调用用C或C++编写的本地代码。

  3. jre/:该目录包含了Java Runtime Environment (JRE),用于运行Java应用程序。JRE包括Java虚拟机 (JVM)、类库和其他运行Java应用程序所需的文件。jre/bin/ 目录包含了用于启动JRE的可执行文件,例如 javajavawjavaws

  4. lib/:该目录包含了Java库和工具,例如 tools.jarjfxswt.jarjfxrt.jar 等等。这些文件通常用于开发Java应用程序。其中tools.jar是开发Java应用程序所需的核心库,它包含了Java编译器 (javac) 和其他开发工具。jfxswt.jarjfxrt.jar 是JavaFX 库的一部分,用于开发富客户端应用程序。

  5. src.zip:该文件是JDK的源代码压缩包,包含了Java开发工具和库的源代码。这些源代码可以用于学习JDK的内部实现和调试。

  6. COPYRIGHT:该文件包含了JDK的版权声明。

  7. LICENSE:该文件包含了JDK的许可证。

  8. README.html:该文件包含了JDK的基本信息和使用说明。

这些目录包含了Java开发和执行所必需的工具、库、文件和源代码。其中,bin/目录是最重要的一个目录,因为它包含了Java的核心工具,可以在终端中使用。

四、JDK的使用

  1. 要使用JDK进行Java开发,需要将JDK安装到计算机上,并配置Java环境变量(具体怎么安装,网上教程一大把)。安装完JDK后,可以使用命令行工具或集成开发环境(IDE)进行Java开发。

  2. 在命令行中,可以使用javac编译Java源代码,生成字节码文件,然后使用java命令运行字节码文件。例如:

javac HelloWorld.javajava HelloWorld
  1. 在IDE中,可以使用IDE提供的代码编辑器、自动完成、调试器等功能,大大提高开发效率和代码质量。常见的Java IDE包括Eclipse、IntelliJ IDEA和NetBeans等。
  2. 除了Java开发,JDK还提供了丰富的工具和组件,用于性能优化、调试和诊断等。例如,jstat可以监控JVM的性能指标,jmap可以生成堆转储文件,jdb可以进行Java程序的调试等等