java已经走过了21个年头,发布了10个版本,是现下最流行的后台系统编程语言。21年里语法发生了很多变化,增加了很多特性,东家也由sun易手到了oracle,下面我们把10个版本的主要变化用倒序整理一下。
JAVA9
模块化(jiqsaw)
交互式命令行(JShell)
默认垃圾回收期切换为G1
进程操作改进
竞争锁性能优化
分段代码缓存
优化字符串占用空间
JAVA8
2014-3-19发布,oracle原计划2013年发布,由于安全性问题两次跳票,是自JAVA5以来最具革命性的版本,主要更新内容:
接口改进,接口居然可以定义默认方法实现和静态方法了。
引入函数式接口
引入Lambda表达式
引入全新的Stream API,提供了对值流进行函数式操作。
引入新的Date-Time API
引入新的JavaScrpit引擎Nashorn
引入Base64类库
引入并发数组(parallel)
添加新的Java工具:jjs、jdeps
JAVA7,代号Dolphin(海豚)
2011-07-28发布,这是sun被oracle收购(2009年4月)后的第一个版本,主要更新内容:
switch语句块中允许以字符串作为分支条件
在创建泛型对象时应用类型推断
在一个语句块中捕获多种异常
添加try-with-resources语法支持,使用文件操作后不用再显示执行close了。
支持动态语言
引入新I/O文件系统,支持ZIP文件操作,极大方便了文件操作
JDBC规范版本升级为JDBC4.1
引入Fork/Join框架,用于并行执行任务
JAVA6,代号Mustang(野马)
2006-12-11发布,主要更新内容:
引入了一个支持脚本引擎的新框架(基于 Mozilla Rhino 的 JavaScript 脚本引擎)
UI的增强
对WebService支持的增强(JAX-WS2.0 和 JAXB2.0)
引入JDBC4.0API
引入Java Compiler API
通用的Annotations支持
JAVA 5.0,代号Tiger(老虎),有重大改动
2004-9-30发布,主要更新内容:
引入泛型
增强循环,可使用迭代方式
自动装箱与自动拆箱
引入类型安全的枚举
引入可变参数
添加静态引入
引入注解
引入Instrumentation
JAVA 1.4,代号Merlin(隼)
2004-2-6发布(首次在JCP下发行),主要更新内容:
添加XML处理
添加Java打印服务(Java Print Service API)
引入Logging API
引入Java Web Start
引入JDBC 3.0 API
引入断言
引入Preferences API
引入链式异常处理
支持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发行