最近正在研究缓存方面的资料,大部分文章都提到了LRU算法。于是搜索了下,发现JDK 5实现起来还真是简单(http://www.iteye.com/topic/123856)
由于线程安全,加入了ReentrantLock或者Lock,个人觉得只是一个简单的读写操作。有没有必要用到java.util.concurrent包中的高级工具。搜索到了一篇文章,建议大家都看一看(http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html)
引用其中一句话:
[quote]虽然 ReentrantLock 是个非常动人的实现,相对 synchronized 来说,它有一些重要的优势,但是我认为急于把 synchronized 视若敝屣,绝对是个严重的错误。 java.util.concurrent.lock 中的锁定类是用于高级用户和高级情况的工具 。一般来说,除非您对 Lock 的某个高级特性有明确的需要,或者有明确的证据(而不是仅仅是怀疑)表明在特定情况下,同步已经成为可伸缩性的瓶颈,否则还是应当继续使用 synchronized。 [/quote]
由于线程安全,加入了ReentrantLock或者Lock,个人觉得只是一个简单的读写操作。有没有必要用到java.util.concurrent包中的高级工具。搜索到了一篇文章,建议大家都看一看(http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html)
引用其中一句话:
[quote]虽然 ReentrantLock 是个非常动人的实现,相对 synchronized 来说,它有一些重要的优势,但是我认为急于把 synchronized 视若敝屣,绝对是个严重的错误。 java.util.concurrent.lock 中的锁定类是用于高级用户和高级情况的工具 。一般来说,除非您对 Lock 的某个高级特性有明确的需要,或者有明确的证据(而不是仅仅是怀疑)表明在特定情况下,同步已经成为可伸缩性的瓶颈,否则还是应当继续使用 synchronized。 [/quote]