码迷,mamicode.com
首页 > 其他好文 > 详细

JDK各个版本特性

时间:2014-12-08 19:20:13      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:http   io   ar   使用   sp   for   java   on   bs   

JDK1.0

核心API,集成API,用户界面API,发布技术,Java虚拟机(JVM)

AWT

 

JDK1.1

JITb编译器,会把常执行的部分字节码指令先解释好放在内存,以后再次执行该指令时,不用再解释.

Reader /Writer,16位读写。

新的事件模型,使用Listener

 

JDK1.2(里程碑) ,改名为JAVA 2 、J2SE

ThreadLocal:线程本地变量,new ThreadLocal(),然后set()一个变量,这样就把这个变量跟当前线程绑定,此后,在本地线程生命周期内,任何位置都可以都可以通过ge()取得这个变量。而且不会跟别的线程冲突(也就是线程安全的)。

ThreadLocal自己维护了一个Map,key是线程,value是用户的变量,任何一个线程去里面取的都是自己的变量。

有句话总结的比较好,ThreadLocal是用空间换时间,使得线程不用竞争变量,而是各自使用自己的版本。

而线程同步机制是用时间换空间,各个线程只能排队取得资源的使用权。

新版集合包,ArrayList, HashMap 等等 ,以前是Vector Hashtable等等。

Thread类中对suspend(),resume()和stop()等方法的废弃

JFC

Swing

Security

 

JDK1.3

java.lang.StrictMath、Timer API、Collections包改进

虚拟机停止钩子

DNS服务:在JNDI接口方面,加入了一个DNS服务的实现。

Jini实现:J2SE1.3包含了一个Jini实现,这使得我们可以方便地把诸如打印机、摄像机和磁盘驱动设备插入现有网络中,并且能自动搜索已在网上的设备可以提供的服务并享用这些服务。

Optional API中引入了Java API for XML包

HotSpot虚拟机

 

JDK1.4

assertion功能: 如 assert null != str;

NIO非阻塞IO

LinkedHashMap

 

JDK1.5 ,(里程碑)改名J2SE5.0

泛型,注解,基础变量box,彻底改变了JAVA代码的样子。

线程池包

 

JDK1.6  改名为Java SE 6.0

StAX

JAXB2

Compiler API

 

JDK1.7

对Java集合(Collections)的增强支持

Map map = {name:"xxx",age:18};

List<Integer> piDigits = [ 1,2,3,4,5,8 ];

在Switch中可用String

 

java 8

Lambda 表达式

 

参考

历10年风雨J2SE发展演变史

JDK各个版本特性

标签:http   io   ar   使用   sp   for   java   on   bs   

原文地址:http://www.cnblogs.com/no5element/p/4151715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!