jdk1.6相对于jdk1.5关于多线程这块,有哪些新的特性,哪些新的api?

问题描述

如题?

解决方案

解决方案二:
该回复于2010-12-02 17:18:34被版主删除
解决方案三:
没啥变动。1.4->1.5java.util.concurrent1.6->7/8fork-join
解决方案四:
java.util.concurrent包中的变化1.新增BlockingDeque<E>接口及实现类LinkedBlockingDeque<E>2.新增ConcurrentNavigableMap<K,V>接口及实现类ConcurrentSkipListMap<K,V>3.新增NavigableSet<E>接口及实现类ConcurrentSkipListSet<E>4.新增RunnableFuture<V>接口及其子接口RunnableScheduledFuture<V>6.AbstractExecutorService抽象类新增newTaskFor一个方法7.ConcurrentHashMap<K,V>增加一个int,float的构造方法8.ScheduledThreadPoolExecutor类新增重载的decorateTask两个方法9.ThreadPoolExecutor类新增allowsCoreThreadTimeOut,allowCoreThreadTimeOut两个方法10.TimeUnit类新增toMinutes,toHours,toDays三个方法java.util.concurrent.locks包中的变化1.新增AbstractOwnableSynchronizer抽象类及其子接象类AbstractQueuedLongSynchronizer2.新增AbstractQueuedLongSynchronizer.ConditionObject条件变量类3.LockSupport类新增park,parkNanos,parkUntil,getBlocker四个方法4.ReentrantReadWriteLock类新增getReadHoldCount一个方法5.ReentrantReadWriteLock.WriteLock类新增isHeldByCurrentThread,getHoldCount两个方法java.util.concurrent.atomic包中的变化1.除AtomicMarkableReference<V>和AtomicStampedReference<V>两个类之外,其他AtomicXxxx的类都增加了一个lazySet的方法
解决方案五:
主要的变化是JDK1.6中新增了双端队列(Deque)、导航Set(NavigableSet<E>),以及导航Map(NavigableMap<K,V>)的集合类库,同时使用并发库新增些相关的类库

时间: 2024-12-20 19:32:30

jdk1.6相对于jdk1.5关于多线程这块,有哪些新的特性,哪些新的api?的相关文章

Flash AS3 相对于AS2 新的特性和改动

本文介绍了ActionScript 3 相对于 ActionScript 2 有哪些新的特性和改动.并在文章的最后一步步的教大家如何利用 Flex Builder 来编译并运行第一个 AS3 程序.语法方面的增强和改动: 引入了 package(包) 和 namespace(命名空间) 两个概念.其中 package 用来管理类定义,防止命名冲突,而 namespace 则用来控制程序属性方法的访问. 新增内置类型 int (32比特整数),uint(非负32比特整数),用来提速整数运算: 新增

c# winform 多线程使用的问题 多线登录new新窗体的时候 报错

问题描述 c# winform 多线程使用的问题 多线登录new新窗体的时候 报错 c# winform 多线程使用的问题 多线登录new新窗体的时候 Thread Thr=new Thread(new ThreadStart(test1)) Thr.Start(); public void test1() { form1 for=new form1(); for.show(); } 报 线程间操作无效: 从不是创建控件"lts"的线程访问它.如何解决呢 解决方案 up 习惯用委托去解

基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法_Android

安装jdk1.7.0_04后,同时设置环境变量,并且source.可是java -version查看后,还是只能查看到jdk1.6和jdk1.5一共两个版本,这两个版本都是fedora自带的. 解决方法: #:  alternatives --install /usr/bin/java java /usr/local/android/jdk1.7.0_04/bin/java 500 注意:/usr/local/android/jdk1.7.0_04/ 是我的jdk安装路径. 然后: altern

基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法

安装jdk1.7.0_04后,同时设置环境变量,并且source.可是java -version查看后,还是只能查看到jdk1.6和jdk1.5一共两个版本,这两个版本都是fedora自带的. 解决方法: #:  alternatives --install /usr/bin/java java /usr/local/android/jdk1.7.0_04/bin/java 500 注意:/usr/local/android/jdk1.7.0_04/ 是我的jdk安装路径. 然后: altern

在装2个不同版本JDK时遇到了这个问题

一:要解决的问题 我们在尝鲜 JDK1.5 的时候,相信不少人遇到过 Unsupported major.minor version 49.0 错误,当时定会茫然不知所措.因为刚开始那会儿,网上与此相关的中文资料还不多,现在好了,网上一找就知道是如何解决,大多会告诉你要使用 JDK 1.4 重新编译.那么至于为什么,那个 major.minor 究竟为何物呢?这就是本篇来讲的内容,以使未错而先知. 我觉得我是比较幸运的,因为在遇到那个错误之前已研读过<深入 Java 虚拟机>第二版,英文原书名

关于Unsupported major.minor version 49.0的错误解决办法_java

在装2个不同版本JDK时遇到了这个问题,在网上钩了一吧!查到一个讲解比较好的资料. 一:要解决的问题 我们在尝鲜 JDK1.5 的时候,相信不少人遇到过 Unsupported major.minor version 49.0 错误,当时定会茫然不知所措.因为刚开始那会儿,网上与此相关的中文资料还不多,现在好了,网上一找就知道是如何解决,大多会告诉你要使用 JDK 1.4 重新编译.那么至于为什么,那个 major.minor 究竟为何物呢?这就是本篇来讲的内容,以使未错而先知. 我觉得我是比较

《AngularJS高级程序设计》——第1章 准备 1.1你需要知道哪些知识

第1部分 准备 第1章 准备 AngularJS吸收了服务器端开发技术的一些最好的方面,并使用它们来对浏览器中的HTML进行增强,为更简单而容易地构建富应用程序奠定了基础.AngularJS应用程序是围绕着被称为模型-视图-控制器(MVC)的模式而构建的,该模式的重点在于创建这样的应用程序: 可扩展的:一旦了解了基本原理,就能够轻松理解一个复杂的AngularJS应用是如何工作的--意味着你可以很容易地增强应用程序以便为用户创建有用的新特性. 可维护的:AngularJS应用易于调试和纠错,意味

jdk1.6环境下struts2改spring boot方案

公司目前上线的两个项目都是比较老的,java版本是jdk1.6,mvc框架使用的是strus2. 随着不久前struts2官方公布新的安全漏洞,我们也不得不做出相应的整改措施,除了之前博文中所说把struts2改为spring mvc外,还把其中部分项目的struts2改成了spring boot,由于各种原因,领导安排由我给出相应的整改方案,然后其他同事参考. Spring boot中内嵌tomcat服务器,不需要再专门对tomcat软件进行维护,同时遵循"约定优于配置",如果整个项

java-并发-ConcurrentHashMap高并发机制-jdk1.6

ConcurrentHashMap 是 util.concurrent 包的重要成员.本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制. 由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型.同时,ConcurrentHashMap 的源代码会涉及到散列算法和链表数据结构,所以,读者需要对散列算法和基于链表的数据结构有所了解. 回页首 Java 内存模型