SimpleDateFormat不要定义为static

简介: SimpleDateFormat非线程安全,避免定义为static;若需静态使用,应加锁或采用ThreadLocal封装。JDK8推荐使用Instant、LocalDateTime和DateTimeFormatter,具备线程安全、不可变等优势,更简单高效。

SimpleDateFormat 是线程不安全的类,一般不要定义为 static 变量,如果定义为static,必须加锁,或者使用 DateUtils 工具类。
正例:注意线程安全,使用 DateUtils。亦推荐如下处理:
private static final ThreadLocal df = new ThreadLocal() {
@Override
protected DateFormat initialValue() {
return new SimpleDateFormat("yyyy-MM-dd");
}
};
说明:如果是 JDK8 的应用,可以使用 Instant 代替 Date,LocalDateTime 代替 Calendar,DateTimeFormatter 代替 SimpleDateFormat,官方给出的解释:simple beautiful strong immutable thread-safe。

相关文章
|
18小时前
|
存储 NoSQL Linux
2.4 Linux系统中的安装启动和连接
本文介绍在Linux系统部署单机MongoDB用于生产环境的完整步骤,包括下载、解压、目录配置、日志与数据路径设置、配置文件编写及服务启停方法。操作类似Windows,通过配置`mongod.conf`实现后台运行,支持命令行与图形工具连接,并提供防火墙处理与安全关闭服务方案,确保稳定运行。
|
18小时前
Arrays.asList之后不要调用修改操作
`Arrays.asList()`返回的列表不可直接增删元素,因其底层为固定大小的内部类,调用`add`等方法会抛出`UnsupportedOperationException`;且列表与原数组共享数据,修改数组内容会同步反映到列表中。
|
18小时前
|
JSON 算法 Java
DSL语法、搜索结果处理
本文介绍了Elasticsearch(ES)的数据搜索功能,涵盖DSL查询语法、全文检索、精确查询、地理坐标查询及复合查询等类型。通过RestClient实现搜索,并结合黑马旅游案例,演示了酒店搜索、过滤、竞价排名等功能的实现过程,帮助读者掌握ES在实际项目中的应用。
 DSL语法、搜索结果处理
|
18小时前
|
NoSQL 关系型数据库 MySQL
MySQL 并发控制核心原理与实践技巧
本文深入解析MySQL高并发场景下的数据一致性难题,涵盖事务隔离级别、锁机制与乐观锁原理,结合电商秒杀、订单重复等真实案例,提供隔离级别选择、悲观锁/乐观锁应用及Redis分流等实战策略,助力开发者平衡性能与一致性。
|
18小时前
|
机器学习/深度学习 人工智能 自然语言处理
AI群策群力术:让多个大模型一起干活不摸鱼
想让AI回答更准确?别指望一个模型包打天下!就像做菜找多个大厨试味,提示词集成(Prompting Ensembling)让多个提示词协同作战,通过民主投票选出最佳答案。从自一致性(Self-Consistency)到多样化推理(DiVeRSe),掌握这些技巧让你的AI应用准确率飙升!#人工智能 #提示词工程 #机器学习 #AI优化
|
18小时前
|
NoSQL MongoDB
3.4.1 文档的插入
MongoDB中使用insert()或insertMany()向集合插入文档,支持单条或批量添加。若集合不存在则自动创建,未指定_id时自动生成,整型需用NumberInt(),日期用new Date()。键值对有序,区分类型和大小写,不可重复,键命名需遵循UTF-8规范,避免特殊字符。批量插入失败不回滚已成功数据,建议用try-catch捕获异常。
|
18小时前
4 多对多
通过引入第三方类UserForDept关联用户与部门,实现多对多映射。在User和Dept类中分别添加对方集合,并在mapper.xml中配置collection关联UsersForDept,便于灵活管理多部门与多用户间的关系,适用于复杂权限场景。(236字)
|
18小时前
|
XML NoSQL Java
5.3 技术选型
本节介绍MongoDB的Java连接驱动mongodb-driver及SpringDataMongoDB持久层框架,通过搭建文章微服务工程,配置Spring Boot整合MongoDB,实现项目初始化与启动。
|
18小时前
2.映射关系(1-1 1-n n-n)
一对一通过ResultMap实现属性与字段映射,解决命名不一致问题;一对多需在“一”方添加集合属性,并在resultMap中使用<collection>标签映射关联对象,如用户与角色关系。
|
18小时前
|
存储 NoSQL MongoDB
4.2.3 其他索引
MongoDB提供地理空间索引支持平面与球面查询,文本索引实现高效字符串搜索并提取词干,哈希索引则用于散列分片,仅支持等值匹配,提升数据分布随机性。