Java 常用类库

Java 提供了丰富的类库,以下是一些最常用的类。

1. 核心 Java 类库

Java 标准库提供了丰富的内置类库,以下是常用的一些核心类库:

类别 类库名称 主要功能
集合框架 java.util.ArrayList 动态数组实现
java.util.LinkedList 双向链表实现
java.util.HashMap 哈希表实现的 Map
java.util.Vector 实现了一个动态数组
java.util.HashSet 基于哈希表的 Set
java.util.Scanner 获取用户的输入
java.util.regex.Pattern 正则表达式
java.util.regex.Macher 正则表达式
IO/NIO java.io.File 文件和目录操作
java.nio.file.Files 文件操作工具类
java.io.InputStream 字节流基础类
java.io.OutputStream 字节流基础类
多线程 java.lang.Thread 线程操作类
java.util.concurrent.ExecutorService 线程池管理
日期时间 java.time.LocalDate 日期处理
java.time.LocalDateTime 日期时间处理
java.time.ZonedDateTime 带有时区的日期和时间
java.util.Date 当前的日期
java.text.SimpleDateFormat 时间日期格式化
java.util.Calendar 处理时间日期
java.util.GregorianCalendar 实现了公历日历
java.time.Instant 表示时间线上的一个瞬时点
java.time.ChronoUnit 用于测量时间的标准单位
java.time.Period 表示两个日期之间的时间间隔
java.time.Duration 表示基于时间的时段(小时、分钟、秒、纳秒)
网络编程 java.net.URL URL 处理
java.net.Socket 套接字编程

2. 常用第三方库

以下是 Java 生态系统中广泛使用的第三方库:

类别 库名称 主要功能 官方网站
JSON 处理 Jackson JSON 序列化/反序列化 https://github.com/FasterXML/jackson
Gson Google 的 JSON 库 https://github.com/google/gson
单元测试 JUnit Java 单元测试框架 https://junit.org/junit5/
Mockito Mock 测试框架 https://site.mockito.org/
日志记录 Log4j 日志记录框架 https://logging.apache.org/log4j/
SLF4J 日志门面框架 https://www.slf4j.org/
Web 开发 Spring Framework 企业级应用框架 https://spring.io/projects/spring-framework
Spring Boot 快速应用开发框架 https://spring.io/projects/spring-boot
数据库 Hibernate ORM 框架 https://hibernate.org/
MyBatis SQL 映射框架 https://mybatis.org/mybatis-3/
构建工具 Maven 项目构建和依赖管理 https://maven.apache.org/
Gradle 灵活构建工具 https://gradle.org/

3. 如何选择适合的类库

3.1 评估标准

  1. 功能需求:首先明确项目需要什么功能
  2. 社区支持:活跃的社区意味着更好的支持和文档
  3. 性能表现:对于性能敏感的应用需要特别考虑
  4. 学习曲线:考虑团队的学习成本
  5. 维护状态:检查项目是否还在积极维护

3.2 版本选择建议

  • 优先选择 LTS (长期支持) 版本
  • 避免使用已经停止维护的版本
  • 新项目可以考虑较新的稳定版本

4. 使用示例

4.1 使用 Jackson 处理 JSON

实例

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonExample {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        try {
            // 对象转 JSON
            String json = mapper.writeValueAsString(new User("张三", 25));
            System.out.println(json);
           
            // JSON 转对象
            User user = mapper.readValue(json, User.class);
            System.out.println(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4.2 使用 JUnit 进行单元测试

实例

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {
    @Test
    void testAdd() {
        Calculator calc = new Calculator();
        assertEquals(5, calc.add(2, 3));
    }
}