Java基础(三):基础类库

本文详细介绍了Java基础类库,包括JDK环境变量配置,如JAVA_HOME、classpath和Path的设置。讲解了JDK中的rt.jar、dt.jar、tools.jar的作用,其中rt.jar包含Java核心类库,dt.jar主要用于Swing,tools.jar提供工具类库。此外,文章还探讨了rt.jar包中的java、javax、sun、org包的区别,以及JDK、JRE和JVM的组成与功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.配置JDK环境变量

1、打开我的电脑--属性--高级--环境变量

2、新建环境变量JAVA_HOME和classpath

变量名:JAVA_HOME

变量值:C:\Program Files\Java\jdk1.7.0

变量名:classpath

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

3、选择环境变量中名为path的环境变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中

变量名:Path

变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

JAVA_HOME变量含义:指jdk安装目录,比如设置path变量的时候是“;%JAVA_HOME%\bin”,来代替“C:\Program Files\Java\jdk1.7.0\bin”。“%JAVA_HOME%”就是使用了JAVA_HOME环境变量。

path变量含义:让系统在任何路径下都可以识别java、javac、javap等命令,因为该变量的bin目录下存放了各种包装好的工具。

classpath变量含义:该变量是用来告诉Java解释器(即java命令)在哪些目录下可找到所需要执行的class文件(即javac编译生成的字节码文件)。ClassPath指定的是java加载类的路径。只有类在ClassPath中,java命令才能找到它,并解释它。通俗的说它的作用与import、package关键字有关,我们写的java源码中,当然会包含别人提供的工具类,比如当你写下improt java.util.*时,编译器面对import关键字时,就需要知道你要引入java.util这个package中的类到底在哪里。

二.JDK中 rt.jar、dt.jar 、tools,jar的作用

rt.jar位于{JAVA_HOME}/jre/lib下,而dt.jar和tools.jar位于{JAVA_HOME}/lib下。其中:

1、tools.jar:工具类库,它跟我们程序中用到的基础类库没有关系。我们注意到在Path中变量值bin目录下的各个exe工具的大 小都很小,一般都在27KB左右,这是因为它们实际上仅仅相当于是一层代码的包装,这些工具的实现所要用到的类库都在tools.jar中,用压缩软件打开tools.jar,你会发现有很多文件是和bin目录下的exe工具相对性的。当然,如果tools.jar的功能只有这些的话,那么我们根本不用把它加入到CLASSPATH变量中,因为bin目录下的工具自己可以完成对这些类库的调用,因此tools.jar应该还有其他的功能。如编译、运行、调试时使用。

2、dt.jar:运行环境类库,主要是Swing包,这一点通过用压缩软件打开dt.jar也可以看到。如果在开发时候没有用到Swing包,那么可以不用将dt.jar添加到CLASSPATH变量中。

3、rt.jar:包含所有核心Java运行环境的已编译class文件,也就是java doc里面看到的类。

三.rt.jar包中的java、javax、sun、org包有什么区别?

Java、Javax、sun、org都是jdk提供的类包,且都在rt.jar里,rt.jar是Java基础类库,Java核心框架中很重要的包。他们之间的区别如下:

java.*:Java SE 的标准库,是Java标准的一部分,是对外承诺的Java开发接口,通常要保持向后兼容,一般不会轻易修改;

javax.*:也是Java标准的一部分,但是没有包含在标准库中,属于标准库的扩展;

com.sun.*:是sun的hotspot虚拟机中java和javax的实现类,但不是sun对外公开承诺的接口,这些类可能不会向后兼容,所以不推荐使用;

org.omg.*:是由企业或者组织提供的Java类库,不具备向后兼容性,会根据需要随时增减。其中比较常用的是w3c提供的对XML、网页、服务器的类和接口。

四.jdk基础类库都有什么?

以后填坑。

五.jdk基础扩展类库都有什么?

以后填坑。

六.jdk、jre、jvm?

我们知道,我们所说的java包含jdk、jre、jvm等(jdk包含jre,jre包含jvm)

1.JDK主要包含Java Language 语言(语法)、Tools(编译器、调试器等)、jre等,具体如下:

(1)Java Language语言:是一种通用的、可并发的、强类型的、基于类的、面向对象的语言。Java语言通常是将代码编译成字节码指令集和JAVA虚拟机规定中定义的二进制格式。

(2)Tools:JDK工具集非常重要,包含了编译器、调试器、内存监控、堆栈监控、堆分析、进程线程工具等工具。

(3)jre:是运行Java程序所需环境的集合,包含JVM标准实现,Java核心类库。

2.JRE包含了若干组件,可以分为几大类,Base Libraries、Other Base Libraries、Integration Libraries、User Interface Libraries、Deployment、Java Virtual Machines、具体如下:

(1)Base Libraries:基础类库,提供了Java平台最基本特性和功能的类和接口;包括Lang包、Util包、Math包、Reflection包

、Collections包等。

(2)Other Base Libraries:基础类库的补充;包括I/O包、Serialization包、Security包、JNI等。

(3)Integration Libraries:服务集成类库,每一个组件都可以提供独立、完整的服务,内部逻辑内聚而复杂。包括JDBC、

RMI、JNDI、IDL等。

(4)User Interface Libraries:用户界面类库,提供了UI、图像、声音、交互等服务,目前来说使用场景并不广泛。包括

AWT、Swing、Image I/O等。

(5)Deployment:java部署,包括jdk的安装、设置、更新、重新分配等。

(6)Java Virtual Machines:看下一节。

3.JVM:Java Virtual Machines,是一个抽象的计算机指令集,同时操纵运行时的内存。它可以移植到不同的平台,具有硬件和操作系统的独立性。Java SE提供了两种实现的JVM:

(1)Java HotSpot Client VM:客户端虚拟机是通常用于客户端应用程序。一般通过调优以减少启动时间和内存占用。 使用-client启动应用程序。

(2)Java HotSpot Server VM:服务器虚拟机以程序执行速度、启动时间和内存占用等指标来设计的,相比客户端虚拟机在性能方面有很大提升。使用-server启动应用程序。


参考:

JDK环境变量中dt.jar、tools.jar,rt.jar,source.jar等变量值的作用:https://blog.youkuaiyun.com/shangruo/article/details/52383389?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.nonecase

java、javax、sun、org包有什么区别:https://blog.youkuaiyun.com/ooppookid/article/details/51704792

java核心框架是什么样的:https://blog.youkuaiyun.com/ooppookid/article/details/51589070

dk基础扩展类库都有什么:https://blog.youkuaiyun.com/ooppookid/article/details/51626205?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值