Java开发的基石:JDK
本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!
JDK是Java Development Kit的缩写,是Java开发工具的核心组件。JDK包含了Java编译器、Java运行时环境、Java API类库和其他工具,用于开发、编译、运行和调试Java应用程序。JDK是Java开发的基础,是Java程序员必须掌握的工具之一。
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 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进行Java开发,需要将JDK安装到计算机上,并配置Java环境变量(具体怎么安装,网上教程一大把)。安装完JDK后,可以使用命令行工具或集成开发环境(IDE)进行Java开发。
-
在命令行中,可以使用javac编译Java源代码,生成字节码文件,然后使用java命令运行字节码文件。例如:
javac HelloWorld.javajava HelloWorld
- 在IDE中,可以使用IDE提供的代码编辑器、自动完成、调试器等功能,大大提高开发效率和代码质量。常见的Java IDE包括Eclipse、IntelliJ IDEA和NetBeans等。
- 除了Java开发,JDK还提供了丰富的工具和组件,用于性能优化、调试和诊断等。例如,jstat可以监控JVM的性能指标,jmap可以生成堆转储文件,jdb可以进行Java程序的调试等等
来源地址:https://blog.csdn.net/weixin_52533007/article/details/131991191