Java 1.4到1.5的修改很大,在编译compile-time 方面提升很大,Java 6在运行时runtime智能上做了优化,Java 7的主要改进:模块化。我们分析一下Java 7的主要修改:
* Modularization 模块化– JSR 294 或者 Project Jigsaw
* JVM 对动态语言的支持
* 更多新的 I/O APIs 即将完成,包括真正的异步I/O 和最终的真实的文件系统 file system API – JSR 203
* 对XML本地语言支持. (可能的probable)
* Safe rethrow – 允许catch捕获语句让编译器更加聪明的知道基于什么情况下重新throw什么内容。
* Null dereference expressions – Null 和 ‘?’ syntax 比较,语法类似 Groovy… 让开发者避免过多的空值验证。
* 更好的类型推断 Better type inference
* 多重捕获Multi-catch
* JSR 296 – Swing 应用框架 application framework – 这方面需要更简单和简洁。
“小的”sun方面的修改有:
* 升级的类加载class loader 架构;
* XRender pipeline for Java 2D:是Open JDK ntegrators Challenge project项目;
* Swing 更新 – JXLayer, DatePicker, CSS styling 等;
* JavaFX
sun方面“快速”的修改,主要是性能更新:
* 并发方面的细微调整 concurrency tweaks (JSR 166),更好的支持Multicore
* G1 垃圾收集器Garbage collector - 带来更小的中断时间,有希望替代 CMS (Concurrent mark sweep) GC
* 64 bit VM的压缩指针Compressed pointer
* MVM-lite – 多个虚拟机能够独立运行应用和允许用kill -9杀死java应用。
我测试了Java 1.5,1.6,1.7的性能
JDK 7版本:
> java -version
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b66)
Java HotSpot(TM) Client VM (build 16.0-b06, mixed mode, sharing)
> java -version
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b66)
Java HotSpot(TM) Client VM (build 16.0-b06, mixed mode, sharing)
测试环境:Dell D630 笔记本运行 Windows 7 RTM (32 bit) , Intel Core 2 CPU (2.4GHz), 3GB RAM.
测试数据:
Test 1. 添加5百万string 数值。
Test 2. 5百万 ArrayList <String> 数据插入,使用Test 1数据。
Test 3. 5百万键值的HashMap <String, Integer>,每个键-值对通过并发线程计算,测试并发能力。
Test 4. 打印5百万 ArrayList <String> 数值到文件,并且回读。
四次测试结果如下:
结论是:
Java 5 <=== 18% faster=== < Java 6 < ===46% faster===< Java 7
分享到:
相关推荐
而如果你希望利用现代Java语言特性和性能提升,JDK 1.7则是一个不错的选择。不过,需要注意的是,这两个版本已经不再受Oracle的主流支持,对于新的项目,建议使用更新的JDK版本,以获取最新的安全补丁和功能更新。
通过深入学习这两个版本的API,开发者能够更好地理解和利用Java平台的强大功能,从而提高软件的稳定性和性能。提供的CHM文件(JDK_API1.6.0_zh_CN.CHM和JDK_API7.0.CHM)是官方中文文档,详细解释了这些特性和API的...
5. J2SE 1.7 (Java 7) API: 引入了try-with-resources语句,使得资源管理更加简洁。加入了钻石操作符()简化泛型实例化。引入了新的文件系统API(JSR 203),改进了并发工具,并增加了对IPv6和HTTP客户端的支持。 ...
Java JDK 1.6, 1.7, 和 1.8 源码是学习Java编程语言的重要资源,它们提供了Java开发工具包的核心实现细节。对于任何希望深入理解Java平台内部工作原理的开发者来说,这些源码都是无价之宝。通过分析源码,我们可以...
这个压缩包文件“jdk 1.5:1.6:1.7.zip”包含了三个不同版本的JDK:1.5、1.6和1.7,它们都是Java历史上的重要版本,对Java的发展起着关键作用。 **JDK 1.5(也称为Java 5.0)** JDK 1.5在2004年发布,引入了许多重要...
本资源包含的是Java API的1.6、1.7和1.8三个主要版本的中文高清版文档,对于学习和理解Java语言的特性及其演变历程具有极大的帮助。 1. **Java API 1.6**: - **泛型**:Java 1.6引入了泛型,允许在定义类、接口和...
本资源集合提供了四个不同版本的JDK:1.4、1.5、1.6和1.7,它们都是免安装版,可以直接使用,极大地简化了开发环境的搭建过程。 1. JDK 1.4:这是Java的一个重要里程碑,发布于2002年,引入了许多新的特性和改进。...
### JDK 1.5、1.6 和 1.7 的新特性详解 #### JDK 1.5 新特性概述 1. **自动装箱与拆箱:** - 自动装箱指的是将基本数据类型自动转换为对应的包装类对象的过程。 - 例如:`Integer iObj = 3;` 这里将整型 `3` ...
它是在Java SE 5.0之后的重要更新,引入了许多新功能和性能改进,特别是在安全性、多线程支持、图形用户界面等方面取得了显著进步。 #### 主要特性 1. **性能优化**:通过改进垃圾回收机制(如并行标记-清除收集器...
这个文档集合涵盖了1.6、1.7和1.8三个主要版本,分别代表了Java SE(标准版)在不同时间点的主要特性和发展。下面将详细讨论这些版本中的关键知识点。 1. Java JDK 1.6: - 泛型:在1.5版本引入后,1.6版本进一步...
本集合涵盖了1.6、1.7和1.8三个主要版本,这三个版本在Java发展历程中扮演了关键角色,引入了许多重要的特性和改进。 1. Java API概述: Java API(Application Programming Interface)是一组预先定义好的类和...
JDK 1.7,或Java SE 7,于2011年发布,带来了许多新功能和改进。其中最重要的特性包括:Try-with-resources语句,用于自动关闭资源;新的类型推断机制(钻石操作符);多路复用I/O(NIO.2);改进的字符串操作,如`...
每个版本都有其特定的适用场景,比如1.6可能用于兼容旧项目,1.7和1.8则提供了更多现代特性和性能提升。使用时,只需解压到任意文件夹,将解压后的路径添加到系统的PATH环境变量中,即可开始开发工作。 总的来说,...
在Java的发展历程中,JDK 1.5到1.7版本引入了许多重要的新特性,极大地提升了开发效率和代码质量。下面将详细讲解这些版本中的关键特性。 **1. 自动装箱与拆箱** 自动装箱是JDK 1.5引入的一个重要特性,它使得基本...
这两个版本在Java开发历史上具有重要的地位,它们包含了编译器、Java虚拟机(JVM)、类库以及各种开发工具,如Java调试器(jdb)和性能分析器(jvisualvm)等。 1. **JDK 1.6**,也称为Java SE 6,于2006年发布。这...
Java JDK 1.6 和 1.7 是Java开发工具包的重要版本,它们在Java编程领域扮演了关键角色。这两个版本分别代表了Java技术在2009年(JDK 1.6)和2012年(JDK 1.7)的发展水平,对于学习Java历史和理解其演进过程至关重要...
**JDK-API 1.7 和 JDK-API 1.6:Java 开发工具包的关键更新与差异** **一、JDK-API 的概述** JDK(Java Development Kit)是Oracle公司提供的用于开发Java应用程序的工具集,它包含了Java编译器、Java虚拟机(JVM)...
本压缩包提供了Java API的1.6、1.7、1.8中文版以及Java EE 1.5的API文档,对于中国开发者来说,中文版的文档更便于理解和学习。 首先,让我们来看看Java SE 1.6、1.7和1.8的主要变化和新增特性: 1. **Java SE 1.6...