Java 常用类库
Java 提供了丰富的类库,以下是一些最常用的类。
1. 核心 Java 类库
Java 标准库提供了丰富的内置类库,以下是常用的一些核心类库:
类别 | 类库名称 | 主要功能 |
---|---|---|
集合框架 | java.util.ArrayList |
动态数组实现 |
java.util.LinkedList |
双向链表实现 | |
java.util.HashMap |
哈希表实现的 Map | |
java.util.Vector |
实现了一个动态数组 | |
java.util.HashSet |
基于哈希表的 Set | |
IO/NIO | java.io.File |
文件和目录操作 |
java.nio.file.Files |
文件操作工具类 | |
java.io.InputStream/OutputStream |
字节流基础类 | |
多线程 | java.lang.Thread |
线程操作类 |
java.util.concurrent.ExecutorService |
线程池管理 | |
日期时间 | java.time.LocalDate |
日期处理 |
java.time.LocalDateTime |
日期时间处理 | |
网络编程 | 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 评估标准
- 功能需求:首先明确项目需要什么功能
- 社区支持:活跃的社区意味着更好的支持和文档
- 性能表现:对于性能敏感的应用需要特别考虑
- 学习曲线:考虑团队的学习成本
- 维护状态:检查项目是否还在积极维护
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();
}
}
}
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));
}
}
import static org.junit.jupiter.api.Assertions.*;
class CalculatorTest {
@Test
void testAdd() {
Calculator calc = new Calculator();
assertEquals(5, calc.add(2, 3));
}
}
点我分享笔记