羽论社|【JavaSE】Java语言的发展历史( 二 )
2.31998年12月4日 , JDK1.2发布【第一个里程碑】
技术体系拆分为三个版本:
J2SE:标准版 。 整个Java技术的基础和核心 , 它是J2EE和J2ME编程的基础 。
J2EE:企业版 。 Java技术中应用最广泛的部分 , 提供企业应用开发的相关内容 。
J2ME:微型版 。 面向手机等移动端开发 , 主要用于控制移动设备和家电等有限存储的设备 。
新特性及更新修改:
Collection(集合框架)
JIT(JustInTime)编译器:内置了JIT[即时编译] , 会将经常用到的指令保存在内存中 , 当下次调用时就不要重新编译了 , 通过这种方式让JDK在效率上有了较大提升 。
JDBC中引入可滚动结果集,BLOB,CLOB,批量更新和用户自定义类型
JFC(JavaFoundationClasses),包括Swing1.0,拖放和Java2D类库
对打包的Java文件进行数字签名 。
Java插件
Applet中添加声音支持
2.42000年5月8日 , JDK1.3发布
新特性及更新修改:
数学运算
TimerAPI(时间)
jar文件索引
CORBAIIOP实现RMI的通信协议
JavaSoundAPI(声音)
Java2D新特性
2.52004年02月6日 , JDK1.4发布
提升了Java计算的性能与缩放能力 , 在性能上比1.3提升了将近60% , 基于图形界面的响应速度提升了40% 。 至今在用 。
新特性及更新修改:
XML处理
【羽论社|【JavaSE】Java语言的发展历史】LoggingAPI
JDBC3.0API
断言
链式异常处理
Java打印服务
支持正则表达式
引入ImgaeI/OAPI
支持IPV6
JavaWebStart
PreferencesAPI
2.62004年9月30日 , JDK1.5发布【第二个里程碑】
SUN将JDK1.5改名为JDK5.0【J2SE更名为JavaSE;J2EE更名为JavaEE;J2ME更名为JavaME】此外 , JDK5.0在语法上做了很大的改进 , 例如:自动装箱 , 泛型 , 枚举 , 可变参数 , 遍历循环(foreach循环)等 。
新特性及更新修改:
自动装箱与自动拆箱
增强循环,可以使用迭代方式
泛型
枚举
可变参数
静态引入
元数据(注解Annotations)
Instrumentation
2.72006年12月11日 , JDK6发布
这个版本对Java虚拟机内部做了大量改进 , 包括锁与同步、垃圾收集、类加载等方面的算法都有很大的改动 。
新特性及更新修改:
继承WebServices
可插拔注解
JDBC4.0API
支持脚本语言
JavaCompilerAPI:compilerAPI提供编程访问javac , 可以实现进程内编译 , 动态产生Java代码 。
2.82011年7月28日 , JDK7发布
新特性及更新修改:
switch语句块中允许以字符串String作为分支条件
异常处理(可以在一个语句块中捕获多种异常)try-with-resources
在创建泛型对象时应用类型推断(增强泛型推断)
Path接口、DirectoryStream、Files、WatchService(重要接口更新)
引入JSR203NIO2.0(AIO) , 新IO的支持
支持动态语言
数字字面量的改进/数值可加下划
null值得自动处理
2.92009年4月20日 , Oracle收购SUN
Oracle宣布将以每股9.5美元的价格收购Sun , 该交易的总价值约为74亿美元 。 Oracle通过收购Sun公司获得了两项软件资产:Java和Solaris 。 2007年11月 , Java语言作为服务器端编程语言 , 已经取得了极大地成功;而Android平台的流行 , 则让Java语言获得了在客户端程序上大展拳脚的机会 。
2.102014年3月18日 , JDK8发布【第三里程碑】
新特性及更新修改:
Lambda表达式:Lambda表达式可以说是Java8最大的卖点 , 它将函数式编程引入了Java 。 Lambda允许把函数作为一个方法的参数 , 或者把代码看成数据 。
接口的默认方法与静态方法:我们可以在接口中定义默认方法 , 使用default关键字 , 并提供默认的实现 。 所有实现这个接口的类都会接受默认方法的实现 , 除非子类提供的自己的实现 。
推荐阅读
- Java|计算机专业的本科生,该选择学习Java技术体系还是.NET技术体系
- 小熊回收站|-链表阻塞队列和数组阻塞队列的异同,Java并发编程
- Java|马化腾登顶中国首富,微信、QQ却都免费使用,腾讯到底咋赚钱的?
- Java|为什么美团骑手总是闯红灯昵
- 阿里巴巴|java三大集合遍历方法
- 编程|JAVA基础-网络编程
- Java|Java中的天使和魔鬼:Unsafe类
- Java|面试官:连多线程问题你都一问三不知,还要我怎么“放水”?
- Java|Java--死锁详解
- Java|锁--JAVA成长之路