[TOC]
## 1. 常用API
| 包名 | Java API | 应用场景 | 优点 | 替代方案 |
| --- | --- | --- | --- | --- |
| java.lang | String | 字符串操作 | 字符串不可变,线程安全 | StringBuilder、StringBuffer |
| java.util | ArrayList | 动态数组 | 插入和删除元素效率高 | java.util.LinkedList |
| | HashMap | 哈希表 | 快速查找元素 | java.util.TreeMap、java.util.LinkedHashMap |
| | HashSet | 集合 | 存储元素唯一 | java.util.TreeSet |
| | TreeMap | 红黑树 | 快速查找元素,元素有序 | java.util.HashMap |
| | PriorityQueue | 优先队列 | 按照优先级访问元素 | java.util.Comparator |
| | ConcurrentHashMa | 并发哈希表 | 支持高并发访问 | java.util.Collections.synchronizedMap() |
| java.io | File | 文件操作 | 支持文件和目录的创建、读写操作 | java.nio.file.Files |
| java.net | Socket | 网络通信 | 支持TCP/IP协议的网络通信 | java.net.URLConnection、java.net.HttpURLConnection |
| java.util.concurrent.locks | ReentrantLock | 锁 | 支持可重入锁和公平锁 | java.util.concurrent.Synchronized |
| java.util.concurrent.atomic | AtomicInteger | 原子操作 | 支持线程安全的原子操作 | java.util.concurrent.atomic.AtomicLong |
| java.util.regex | Pattern | 正则表达式 | 支持字符串的匹配和替换 | java.util.regex.Matcher |
| java.time | LocalDate | 日期 | 支持日期的计算和格式化 | java.util.Calendar、org.joda.time.LocalDate |
| | LocalTime | 时间 | 支持时间的计算和格式化 | java.util.Calendar、org.joda.time.LocalTime |
| | LocalDateTime | 日期时间 | 支持日期时间的计算和格式化 | java.util.Calendar、org.joda.time.LocalDateTime |
| java.util.concurrent | Executors | 线程池 | 支持线程池的创建和管理 | java.util.concurrent.ThreadPoolExecutor |
## 2. 应用场景:
* String:字符串拼接、字符替换等字符串操作。
* ArrayList:需要动态添加或删除元素的情况。
* HashMap:需要快速查找元素的情况。
* HashSet:需要存储唯一元素的情况。
* TreeMap:需要快速查找元素且元素有序的情况。
* PriorityQueue:需要按照优先级访问元素的情况。
* ConcurrentHashMap:需要高并发访问的情况。
* File:需要进行文件和目录的创建、读写操作的情况。
* Socket:需要进行TCP/IP协议的网络通信的情况。
* ReentrantLock:需要进行锁的控制的情况。
* AtomicInteger:需要进行线程安全的原子操作的情况。
* Pattern:需要进行字符串的匹配和替换的情况。
* LocalDate、LocalTime、LocalDateTime:需要进行日期和时间的计算和格式化的情况。
* Executors:需要进行线程池的创建和管理的情况。
优点:
* Java API提供了丰富的数据结构、算法和工具类,可以满足不同的需求。
* Java API中的类和方法都经过了充分的测试和优化,具有较高的稳定性和可靠性。
* Java API提供了高效的并发编程工具和输入输出和网络通信工具,可以提高程序的性能和可靠性。
* Java API中的日期时间和正则表达式工具具有很高的灵活性和可定制性,可以方便地处理日期和时间、字符串匹配和替换等相关的功能。
## 3 . 替代方案:
* StringBuilder、StringBuffer:用于频繁的字符串拼接和修改操作。
* LinkedList:动态数组的替代方案,适用于频繁的插入和删除操作。
* TreeMap、LinkedHashMap:哈希表的替代方案,支持有序存储元素。
* TreeSet:集合的替代方案,支持有序存储唯一元素。
* Comparator:PriorityQueue的替代方案,用于自定义元素的比较。
* Collections.synchronizedMap():ConcurrentHashMap的替代方案,用于支持高并发访问。
* java.nio.file.Files:File的替代方案,提供更高效和更丰富的文件操作功能。
* java.net.URLConnection、java.net.HttpURLConnection:Socket的替代方案,提供更高级的HTTP协议支持。
* java.util.concurrent.Synchronized:ReentrantLock的替代方案,提供更简单的同步机制。
* java.util.concurrent.atomic.AtomicLong:AtomicInteger的替代方案,支持更大范围的原子操作。
* java.util.regex.Matcher:Pattern的替代方案,用于更复杂的字符串匹配和替换操作。
* java.util.Calendar、org.joda.time.LocalDate、org.joda.time.LocalTime、org.joda.time.LocalDateTime:Java 8的新日期和时间API的替代方案,提供更多的日期和时间计算和处理方法。
* java.util.concurrent.ThreadPoolExecutor:Executors的替代方案,提供更多的线程池配置和管理功能。
- 系统设计
- 需求分析
- 概要设计
- 详细设计
- 逻辑模型设计
- 物理模型设计
- 产品设计
- 数据驱动产品设计
- 首页
- 逻辑理解
- 微服务架构的关系数据库优化
- Java基础架构
- 编程范式
- 面向对象编程【模拟现实】
- 泛型编程【参数化】
- 函数式编程
- 响应式编程【异步流】
- 并发编程【多线程】
- 面向切面编程【代码复用解耦】
- 声明式编程【注解和配置】
- 函数响应式编程
- 语法基础
- 包、接口、类、对象和切面案例代码
- Springboot按以下步骤面向切面设计程序
- 关键词
- 内部类、匿名类
- 数组、字符串、I/O
- 常用API
- 并发包
- XML
- Maven 包管理
- Pom.xml
- 技术框架
- SpringBoot
- 项目文件目录
- Vue
- Vue项目文件目录
- 远程组件
- 敏捷开发前端应用
- Pinia Store
- Vite
- Composition API
- uniapp
- 本地方法JNI
- 脚本机制
- 编译器API
- 注释
- 源码级注释
- Javadoc
- 安全
- Swing和图形化编程
- 国际化
- 精实或精益
- 精实软件数据库设计
- 精实的原理与方法
- 项目
- 零售软件
- 扩展
- 1001_docker 示例
- 1002_Docker 常用命令
- 1003_微服务
- 1004_微服务数据模型范式
- 1005_数据模型
- 1006_springCloud
- AI 流程图生成
- Wordpress_6
- Woocommerce_7
- WooCommerce常用的API和帮助函数
- WooCommerce的钩子和过滤器
- REST API
- 数据库API
- 模板系统
- 数据模型
- 1.Woo主题开发流程
- Filter
- Hook
- 可视编辑区域的函数工具
- 渲染字段函数
- 类库和框架
- TDD 通过测试来驱动开发
- 编程范式对WordPress开发
- WordPress和WooCommerce的核心代码类库组成
- 数据库修改
- 1.WP主题开发流程与时间规划
- moho
- Note 1
- 基础命令