最近正在研究缓存方面的资料,大部分文章都提到了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)
引用其中一句话:
引用
虽然 ReentrantLock 是个非常动人的实现,相对 synchronized 来说,它有一些重要的优势,但是我认为急于把 synchronized 视若敝屣,绝对是个严重的错误。 java.util.concurrent.lock 中的锁定类是用于高级用户和高级情况的工具 。一般来说,除非您对 Lock 的某个高级特性有明确的需要,或者有明确的证据(而不是仅仅是怀疑)表明在特定情况下,同步已经成为可伸缩性的瓶颈,否则还是应当继续使用 synchronized。
分享到:
相关推荐
在JDK 5.0中,Java的并发编程能力得到了显著增强,引入了更加灵活和可伸缩的锁定机制。这一变化主要是为了提高并发应用程序的性能,并为开发者提供了更多的控制选项。这里我们将深入探讨其中的关键知识点——`...
- **线程模型的增强**:JDK 5.0之后引入了更高级的并发工具类,如`ConcurrentHashMap`等。 #### 三、集合框架 - **概述**:Java集合框架提供了一组接口和实现类,用于存储和操作对象集合。 - **Collection接口**:...
`Lock` 接口是 JDK 5.0 引入的新特性之一,用于实现更高级别的锁机制。相比传统的 `synchronized` 关键字,`Lock` 提供了更多灵活的控制能力。 **主要特点**: - **可重入性**:支持可重入锁定,允许多次锁定同一个...
在JDK 5.0中,引入了大量并发改进,包括JVM级别的变化,如引入了Compare-and-Swap(CAS)指令,这是一种轻量级的并发原语,能够在硬件层面支持多线程对共享内存位置的无锁更新。这使得开发者能够创建高度可伸缩的并发...
`java.util.concurrent`包是在JDK5.0之后引入的,它为多线程编程提供了强大的支持,旨在更好地利用现代多处理器或多核系统的性能,以便编写大规模的并发应用程序。这一章节首先介绍了`java.util.concurrent`包的基本...
"绿盾最新版 3.3" 和 "5.0" 指的是软件的不同迭代,通常新版本会包含前一版本的功能优化和新增特性。 在"绿盾信息管理软件最新版"中,我们可以期待以下几个关键知识点: 1. **数据加密**:作为一款企业数据加密...
显示锁提供了比内置锁更细粒度和更灵活的锁定机制。 ##### 3.5.1 ReentrantLock `ReentrantLock`是一种可重入锁,允许线程在持有锁的情况下再次获取该锁,从而避免死锁问题。它还提供了公平锁和非公平锁的选择,...
9. **JDK5.0新增线程创建方式**: - 使用`ExecutorService`和`Callable`接口来创建和管理线程池。 - 使用`FutureTask`类来包装一个`Callable`对象,并将其提交到`ExecutorService`中执行。 #### 二、企业真题解析...
- **IDE 工具**:推荐使用 IntelliJ IDEA 或 Eclipse,因为它们对 JDK 5.0 注解功能提供了很好的支持。 ##### 2.2 系统配置 - **Maven 或 Gradle**:可以通过构建工具添加 Hibernate 依赖。 - **配置文件**:需要...
《Java并发编程实践》一书深入探讨了Java平台在Java 5.0和Java 6中引入的并发特性,以及并发编程的一般性原理。本书不仅由参与设计和实现这些特性的团队撰写,而且得到了业界专家的高度评价,如Sun Microsystems的...
5.4.2. 使用 JDK 5.0 的注解(Annotation) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合...
使用 JDK 5.0 的注解(Annotation) 7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent collections) 7.2. 集合映射( Collection mappings ) 7.2.1. 集合外键(Collection foreign keys) 7.2.2. 集合...
5.4.2. 使用 JDK 5.0 的注解(Annotation) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) 6.2. 集合映射( Collection mappings ) 6.2.1. 集合外键(Collection foreign keys) 6.2.2. 集合...
- 使用JDK 1.5及以上版本作为开发环境,应用服务器选择Tomcat 5.0以上,数据库服务器为MySQL 4.0以上,开发工具选用Eclipse。 8. **对象关系映射**: - 系统采用了对象关系映射技术,将数据库中的关系表映射为...
6.4.2. 使用 JDK 5.0 的注解(Annotation) 7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent collections) 7.2. 集合映射( Collection mappings ) 7.2.1. 集合外键(Collection foreign keys) 7.2.2. ...
6.4.2. 使用 JDK 5.0 的注解(Annotation) 7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent collections) 7.2. 集合映射( Collection mappings ) 7.2.1. 集合外键(Collection foreign keys) 7.2.2. ...
5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties) 5.7. 辅助数据库对象(Auxiliary Database Objects) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent ...
5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties) 5.7. 辅助数据库对象(Auxiliary Database Objects) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent collections) ...