java已经走过了21个年头,发布了10个版本,是现下最流行的后台系统编程语言。21年里语法发生了很多变化,增加了很多特性,东家也由sun易手到了oracle,下面我们把10个版本的主要变化用倒序整理一下。
JAVA9
2017-9-21发布
- 模块化(jiqsaw)
- 交互式命令行(JShell)
- 默认垃圾回收期切换为G1
- 进程操作改进
- 竞争锁性能优化
- 分段代码缓存
- 优化字符串占用空间
JAVA8
2014-3-19发布,oracle原计划2013年发布,由于安全性问题两次跳票,是自JAVA5以来最具革命性的版本,主要更新内容:
- 接口改进,接口居然可以定义默认方法实现和静态方法了。
- 引入函数式接口
- 引入Lambda表达式
- 引入全新的Stream API,提供了对值流进行函数式操作。[1]
- 引入新的Date-Time API
- 引入新的JavaScrpit引擎Nashorn
- 引入Base64类库
- 引入并发数组(parallel)
- 添加新的Java工具:jjs、jdeps
JAVA7,代号Dolphin(海豚)[2]
2011-07-28发布,这是sun被oracle收购(2009年4月)后的第一个版本,主要更新内容:
- switch语句块中允许以字符串作为分支条件
- 在创建泛型对象时应用类型推断
- 在一个语句块中捕获多种异常
- 添加try-with-resources语法支持,使用文件操作后不用再显示执行close了。
- 支持动态语言
- 引入新I/O文件系统,支持ZIP文件操作,极大方便了文件操作[3]
- JDBC规范版本升级为JDBC4.1
- 引入Fork/Join框架,用于并行执行任务[4]
JAVA6,代号Mustang(野马)
2006-12-11发布,主要更新内容:
- 引入了一个支持脚本引擎的新框架(基于 Mozilla Rhino 的 JavaScript 脚本引擎)
- UI的增强
- 对WebService支持的增强(JAX-WS2.0 和 JAXB2.0)
- 引入JDBC4.0API [5]
- 引入Java Compiler API [6]
- 通用的Annotations支持
JAVA 5.0,代号Tiger(老虎),有重大改动
2004-9-30发布,主要更新内容:
JAVA 1.4,代号Merlin(隼)
2004-2-6发布(首次在JCP下发行),主要更新内容:
- 添加XML处理
- 添加Java打印服务(Java Print Service API)[9]
- 引入Logging API
- 引入Java Web Start
- 引入JDBC 3.0 API
- 引入断言
- 引入Preferences API [10]
- 引入链式异常处理
- 支持IPV6
- 支持正则表达式
- 引入Image I/O API
JAVA1.3,代号Kestrel(红隼)
2000-5-8发布,主要更新内容:
- 引入Java Sound API
- 引入jar文件索引
- 对Java各方面多了大量优化和增强
JAVA 1.2, 代号Playground(操场)
1998-12-8发行,主要更新内容:
- 引入集合框架
- 对字符串常量做内存映射
- 引入JIT(Just In Time)编译器
- 引入打包文件数字签名
- 引入控制授权访问系统资源策略工具
- 引入JFC(Java Foundation Classes),包括Swing1.0,拖放和Java2D类库
- 引入Java插件
- JDBC中引入可滚动结果集,BLOB,CLOB,批量更新和用户自定义类型
- Applet中添加声音支持
JAVA 1.1
1997-02-19发行,主要更新内容:
- 引入JDBC
- 添加内部类支持
- 引入JAVA BEAN
- 引入RMI
- 引入反射
JAVA 1.0 ,代号Oak(橡树)
于1996-01-23发行