Java标准类库(Java Standard Library,也称为Java API)是一个庞大的类集合,它提供了基本的程序功能,如输入输出(I/O)、网络通信、集合操作、日期时间处理、并发编程等。Java标准类库是Java平台的一部分,任何Java环境都会提供这些库。使用这些库,开发者可以不用从头开始编写常见的程序功能,而是利用已经经过优化和测试的标准实现。
以下是Java标准类库中一些常用包和类的简要概览:
java.lang
java.lang
包包含了Java编程语言的核心类,比如基本数据类型的封装类(如Integer
、Character
等)、基本的异常类(如Exception
、RuntimeException
)、Math
类、String
类、StringBuilder
类等。
Object
:所有Java类的根类。System
:提供了标准输入输出功能,以及访问环境变量、系统属性的方法。Thread
:支持多线程编程。Throwable
:是Java中所有错误和异常的超类。
java.util
java.util
包含集合框架、时间日期类、随机数生成器、格式化等实用工具类。
Collection
:集合接口的根接口。List
、Set
、Map
:常用的集合接口。ArrayList
、LinkedList
、HashSet
、TreeSet
、HashMap
、TreeMap
:实现了上述接口的一些常用集合类。Collections
:包含有关集合操作的静态方法,如排序、查找等。Date
和Calendar
:用于时间日期处理。Locale
:表示特定的地理、政治和文化地区。
java.io
java.io
包提供了几乎所有输入输出相关操作的类和接口。
File
:表示文件和目录路径名的抽象。InputStream
、OutputStream
:字节流的抽象类。Reader
、Writer
:字符流的抽象类。BufferedReader
、BufferedWriter
、FileReader
、FileWriter
:提供缓冲的输入输出流。
java.nio
Java New IO(NIO)是从Java 1.4开始引入的一个改进的I/O API,提供了更接近操作系统I/O操作的功能,包括通道(Channels)、缓冲区(Buffers)和选择器(Selectors)。
java.net
java.net
包包含执行网络操作的类,如URL、URI、Sockets、ServerSockets等。
URL
和URI
:表示统一资源定位符和统一资源标识符。Socket
、ServerSocket
:提供了基本的网络服务。
java.awt 和 javax.swing
这两个包含了用于构建图形用户界面(GUI)的类和接口。
java.awt
:包含构建混合式(本地和Java)GUI的类。javax.swing
:提供了一套轻量级(纯Java)GUI组件。
java.sql
java.sql
包含了用于Java数据库连接(JDBC)的类和接口。
Connection
、Statement
、ResultSet
:用于执行SQL操作。
java.text
java.text
包含了一些类用于文本格式化和解析。
NumberFormat
、DateFormat
:用于数字和日期的格式化和解析。
java.security
java.security
包含了执行安全操作的类和接口,包括加密和解密。
java.util.concurrent
该包提供了许多并发编程涉及的实用工具类,如线程池、同步器等。
Executor
、ExecutorService
:用于管理线程池。Future
、Callable
:支持有返回值的并发任务。- 各种锁和同步器:
Semaphore
CyclicBarrier
、CountDownLatch
:允许线程之间相互等待,直到达到某个公共点后再执行。ConcurrentHashMap
:一个线程安全的哈希表。
java.time
从Java 8开始引入的新的时间日期API,它修正了老的java.util.Date
和Calendar
的设计问题。
LocalDate
、LocalTime
、LocalDateTime
:表示日期、时间和日期时间,没有时区信息。ZonedDateTime
、OffsetDateTime
:包含时区信息的日期时间表示。Duration
、Period
:表示时间间隔和日期间隔。DateTimeFormatter
:用于日期时间的格式化和解析。
java.lang.reflect
java.lang.reflect
包含了用于Java反射机制的类和接口。
Method
、Field
、Constructor
:允许程序运行时查询和修改类、字段和方法信息。
java.math
java.math
包含用于执行任意精度整数(BigInteger
)和小数(BigDecimal
)计算的类。
javax.*
javax
包含了扩展了Java标准类库的各种功能。这些包括用于企业级应用的Java EE API,比如Servlets (javax.servlet
)、Java消息服务(JMS)、Java邮件API(JavaMail)等。
org.*
org
命名空间通常包括标准Java类库之外的类,但在某些情况下也会包含标准API的一部分。例如,org.w3c.dom
和org.xml.sax
包括了处理XML文档的类和接口。
Java标准类库巨大而丰富,上面列出的只是一些常用的包和类。每个包和类都有其专门的用途,学习和掌握这些API是每个Java程序员成长的重要部分。官方Java文档是最权威、最全面的资源,可以在Oracle的官方网站上找到。