使用FastDateFormat

来源:互联网 发布:java之父找不到工作 编辑:程序博客网 时间:2024/05/08 08:41

IBMJDK 1.5中SimpleDateFormat存在性能缺陷,使用FastDateFormat替换之,可以提高部分行能 . IBM JDK 1.5中在实现有关时间的功能与SUN的JDK有一点很大的不同,就是SUN缓存了其中Local对象,而IBM没有缓存之,每次从Resource中getbundle中获取,这个方法似乎是一个调用了本地方法的方法,很容易出现等待。 但是使用了SUN的calendar的对Local 的缓存很容导致内存泄漏,因为在比较Local对对象时,为了提高性能它使用了“=”进行比较,而没有使用equals(),这就要求你在使用Local必须使用calendar中定义的静态Local常量,否则内存会大量泄漏而且性能很低,应为所有local对象放在一个hashtable中,但是local对象的Hashcode使用language+country+ variant而平凑的,所以所有对象的hashcode都一样,这样就导致查询很慢,而且查询以后,还要再次查询bundle.

原创粉丝点击