最近正在研究缓存方面的资料,大部分文章都提到了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 依赖。 - **配置文件**:需要...
附录B更新的JDK 5.0代码 Java2核心技术II卷.高级特性 目录: 译者序 前言 第1章 多线程 1.1 什么是线程 1.2 中断线程 1.3 线程状态 1.4 线程属性 1.5 同步 1.6 阻塞队列 1.7 线程安全的集合 1.8 ...
附录B更新的JDK 5.0代码 Java2核心技术II卷.高级特性 目录: 译者序 前言 第1章 多线程 1.1 什么是线程 1.2 中断线程 1.3 线程状态 1.4 线程属性 1.5 同步 1.6 阻塞队列 1.7 线程安全的集合 1.8 ...
附录B更新的JDK 5.0代码 Java2核心技术II卷.高级特性 目录: 译者序 前言 第1章 多线程 1.1 什么是线程 1.2 中断线程 1.3 线程状态 1.4 线程属性 1.5 同步 1.6 阻塞队列 1.7 线程安全的集合 1.8 Callable和Future...
附录B更新的JDK 5.0代码 Java2核心技术II卷.高级特性 目录: 译者序 前言 第1章 多线程 1.1 什么是线程 1.2 中断线程 1.3 线程状态 1.4 线程属性 1.5 同步 1.6 阻塞队列 1.7 线程安全的集合 1.8 ...
附录B更新的JDK 5.0代码 Java2核心技术II卷.高级特性 目录: 译者序 前言 第1章 多线程 1.1 什么是线程 1.2 中断线程 1.3 线程状态 1.4 线程属性 1.5 同步 1.6 阻塞队列 1.7 线程安全的集合 1.8 ...
附录B更新的JDK 5.0代码 Java2核心技术II卷.高级特性 目录: 译者序 前言 第1章 多线程 1.1 什么是线程 1.2 中断线程 1.3 线程状态 1.4 线程属性 1.5 同步 1.6 阻塞队列 1.7 线程安全的集合 1.8 ...
《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. 集合...