SimpleDateFormat、FastDateFormat和Joda-Time的介绍

http://jjhpeopl.iteye.com/blog/2321528

总结:
SimpleDateFormat是线程不安全的,是因为SimpleDateFormat在对时间进行格式化的时候,先对calendar对象进行setTime操作,在多次调用SimpleDateFormat的时候,就会对该对象进行覆盖,造成线程不安全。
解决方法:
1.在每次需要使用的时候,进行SimpleDateFormat实例的创建,会占用一定的内存,不建议使用。
2.使用同步的方式,对SimpleDateFormat进行加锁,,也就是会造成线程间的互斥,对性能影响比较大。
3.使用ThreadLocal进行保存,相当于一个线程只会有一个实例,进而减少了实例数量,也防止了线程间的互斥,推荐使用这种方式。

FastDateFormat是线程安全的,可以直接使用,不必考虑多线程的情况

Joda-Time与以上两种有所区别,不仅仅可以对时间进行格式化输出,而且可以生成瞬时时间值,并与Calendar、Date等对象相互转化,极大的方便了程序的兼容性。

Joda-Time的类具有不可变性,因此他们的实例是无法修改的,就跟String的对象一样。

这种不可变性提现在所有API方法中,这些方法返回的都是新的类实例,与原来实例不同。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值