JDK中的常用包、常用类

JDK 中常用的包有哪些

java.lang:这个是系统的基础类;
java.io:这里面是所有输入输出有关的类,比如文件操作等;
java.nio:为了完善 io 包中的功能,提高 io 包中性能而写的一个新包;
java.net:这里面是与网络有关的类;
java.util:这个是系统辅助类,特别是集合类;
java.sql:这个是数据库操作的类。
常用核心包介绍
java.lang Java 编程语言的基本类库
java.applet 创建 applet 需要的所有类
java.awt 创建用户界面以及绘制和管理图形、图像的类
java.io 通过数据流、对象序列以及文件系统实现的系统输入、输出
java.net 用于实现网络通讯应用的所有类
java.util 集合类、时间处理模式、日期时间工具等各类常用工具包
java.sql 访问和处理来自于 Java 标准数据源数据的类
java.test 以一种独立于自然语言的方式处理文本、日期、数字和消息的类和接口
java.security 设计网络安全方案需要的一些类
java.beans 开发 Java Beans 需要的所有类
java.math简明的整数算术以及十进制算术的基本函数
java.rmi 与远程方法调用相关的所有类
常用的Java扩展包
javax.accessibility 定义了用户界面组件之间相互访问的一种机制
javax.naming.* 为命名服务提供了一系列类和接口
javax.swing.* 提供了一系列轻量级的用户界面组件,是目前 Java 用户界面常用的包、

jdk常用的包和类

Java JDK 提供了大量的类库,涵盖了从基础数据结构到高级并发编程的方方面面。以下是一些常用的包和类:
java.lang 包
java.lang 包是 Java 编程语言的核心,包含了 Java 基本的类和接口。
Object: 所有类的超类。
String: 表示字符串的类,用于处理字符串,如连接、截取、替换等
StringBuilder类:用于动态拼接字符串,是可变的字符串序列。
Math: 提供基本数学运算方法。提供了数学运算相关的方法,如求平方根、取整、随机数生成等
Integer、Double、Boolean: 包装类,用于将基本数据类型转换为对象。
System: 包含系统相关的静态方法和属性。
Thread、Runnable: 线程和可运行任务的基础类和接口。

java.util 包
java.util 包提供了集合框架、日期和时间设施、随机数生成器以及一些实用工具类。
List、Set、Map: 集合框架的接口,分别表示列表、集合和映射。
ArrayList、LinkedList、HashSet、HashMap: 集合框架的实现类。
Random: 随机数生成器。
Scanner: 用于读取输入的类。
集合框架:包括ArrayList、LinkedList、HashMap、HashSet等,提供了丰富的数据结构,支持增删改查等操作。
Date类:表示日期和时间的类,但自Java 8起,推荐使用java.time包下的类进行日期时间处理。
Calendar类:提供了对日期和时间进行操作的方法,是一个抽象类,通常使用其子类GregorianCalendar。
Collections工具类:提供了一组静态方法,用于对集合进行排序、查找等操作。

java.io 包
java.io 包提供了系统输入输出的功能,通过数据流、序列化和文件系统来实现。
File: 表示文件和目录的类。用于操作文件和目录,提供了创建、删除、重命名等方法
InputStream、OutputStream: 字节流的基础类。
FileInputStream、FileOutputStream: 文件字节流。
Reader、Writer: 字符流的基础类。用于读写字符流
BufferedReader、BufferedWriter: 带缓冲的字符流。提供了缓冲区功能,提高IO性能
ObjectInputStream、ObjectOutputStream: 用于对象序列化和反序列化。

java.nio 包
java.nio 包提供了基于通道和缓冲区的I/O操作,具有更高的效率和灵活性。
ByteBuffer、CharBuffer: 基本的缓冲区类。
FileChannel: 用于文件I/O的通道。
Path、Paths: 表示文件路径的类。
Files: 提供静态方法用于文件操作,如读写、复制、删除等。

java.net 包
java.net 包提供了网络编程的类,用于实现网络通信。
Socket: 客户端的套接字类。
ServerSocket: 服务器端的套接字类。
URL、URLConnection: 用于处理URL和网络连接的类,用于处理URL地址和进行HTTP通信
InetAddress: 用于表示IP地址和主机名。

java.time 包
java.time 包提供了现代日期和时间的 API,比 java.util.Date 和 java.util.Calendar 更易用且功能更强大。
LocalDate、LocalTime、LocalDateTime: 表示日期、时间和日期时间的类。
ZonedDateTime: 表示带时区的日期时间。
Duration、Period: 表示时间段和日期段。
DateTimeFormatter: 用于格式化和解析日期时间。

java.math 包
java.math 包提供了用于高精度计算的类。
BigInteger: 用于表示任意精度的整数。
BigDecimal: 用于表示任意精度的浮点数。

java.sql 包
java.sql 包提供了与数据库进行交互的 API。
Connection: 表示与数据库的连接。
Statement、PreparedStatement: 用于执行SQL语句的接口。
ResultSet: 表示查询结果的接口。
DriverManager: 管理数据库驱动的类。

java.util.concurrent 包
java.util.concurrent 包提供了并发编程的工具和框架。
Executor、ExecutorService: 线程池接口。
Future: 表示异步计算结果的接口。
CountDownLatch、CyclicBarrier: 同步辅助类。
ConcurrentHashMap: 支持并发访问的哈希表。

java.security 包
java.security 包提供了安全框架,包括加密、消息摘要和密钥管理等。
MessageDigest: 用于生成消息摘要。
KeyFactory、KeyPairGenerator: 用于生成和管理密钥。
SecureRandom: 提供强随机数生成器。
这些包和类几乎涵盖了Java开发中的所有基本需求,掌握这些类库的使用将极大地提高开发效率和代码质量。

Java中的java、javax、sun、org包有什么区别

刚开始的时候 JavaAPI 所必需的包是 java 开头的包,javax 当时只是扩展 API 包来说使用。然而随
着时间的推移,javax 逐渐的扩展成为 Java API 的组成部分。但是,将扩展从 javax 包移动到 java
包将是太麻烦了,最终会破坏一堆现有的代码。因此,最终决定 javax 包将成为标准API的一部
分。
所以,实际上java和javax没有区别。这都是一个名字。
java、javax、org、sun包都是jdk提供的类包,且都是在rt.jar中。rt.jar是JAVA基础类库(java核心框架中很重要的包),包含lang在内的大部分功能,而且rt.jar默认就在根classloader的加载路径里面,所以放在classpath是多此一举 。他们之间的区别具体如下:
java.*
java SE的标准库,是java标准的一部分,是对外承诺的java开发接口,通常要保持向后兼容,一般不会轻易修改。包括其他厂家的在内,所有jdk的实现,在java.上都是一样的。
javax.

也是java标准的一部分,但是没有包含在标准库中,一般属于标准库的扩展。通常属于某个特定领域,不是一般性的api。
所以以扩展的方式提供api,以避免jdk的标准库过大。当然某些早期的javax,后来被并入到标准库中,所以也应该属于新版本JDK的标准库。比如jmx,java 5以前是以扩展方式提供,但是jdk5以后就做为标准库的一部分了,所有javax.management也是jdk5的标准库的一部分。
com.sun.*
是sun的hotspot虚拟机中java.* 和javax.的实现类。因为包含在rt中,所以我们也可以调用。但是因为不是sun对外公开承诺的接口,所以根据实现的需要随时增减,因此在不同版本的hotspot中可能是不同的,而且在其他的jdk实现中是没有的,调用这些类,可能不会向后兼容,所以一般不推荐使用。
org.omg.

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

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思静语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值