`
zhangfeilo
  • 浏览: 401003 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

Java 7新功能介绍及与Java1.7性能测试比较

    博客分类:
  • java
阅读更多

这里将进行Java 7新功能和Java 1.5,1.6,1.7的性能测试比较,这样的横向比较,也有利于大家今后的开发工作。希望对大家有所帮助。

AD:

 

我们将进行Java 7新功能和Java1.7性能测试比较,一般来说Java 7新功能主要是对更多类的支持以及加载的架构。而Java 7与Java 1.5,1.6,1.7的性能测试比较,我们会得出结论,并将结果生成柱状图。

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方面“快速”的修改,主要是性能更新:

◆并发方面的细微调整 concurrencytweaks (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代码

  1. > java -version
  2. java version "1.7.0-ea"
  3. Java(TM) SE Runtime Environment (build 1.7.0-ea-b66)
  4. Java HotSpot(TM) Client VM (build 16.0-b06, mixed mode, sharing)
  5. > java -version
  6. java version "1.7.0-ea"
  7. Java(TM) SE Runtime Environment (build 1.7.0-ea-b66)
  8. 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 数据插入,使用Test 1数据。

Test 3. 5百万键值的HashMap ,每个键-值对通过并发线程计算,测试并发能力。

Test 4. 打印5百万 ArrayList 数值到文件,并且回读。

四次测试结果如下:

测试结果柱状图


结论是:
Java 5 <=== 18% faster=== < Java 6 < ===46% faster===< Java 7

测试结果

 

JDK 7下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html

新特性及功能增强

开发者手册和API文档

全平台安装向导

更多详细信息:http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-429209.html

1
4
分享到:
评论
2 楼 lingfa0511 2012-06-29  
长见识了!请问您的结果绘图是用什么工具制作的?
1 楼 bingki 2012-06-29  
能换就换吧!
制约更换JDK的是服务器的稳定性,在当前服务器比较稳定的情况下,更换JDK,有很多不确定的风险。

相关推荐

    java学习 jdk1.7中文版本 java1.7api

    Java 7是Oracle公司于2011年发布的一个重要版本,引入了许多新特性以提升开发者效率和程序性能。以下是一些主要的Java 7特性: 1. **多 Catch 块**:在Java 7之前,我们需要为每种可能抛出的异常写一个单独的catch...

    java7/jdk1.7

    Java 7,也被称为JDK 1.7,是Java平台标准版(Java SE)的一个重要版本。这个版本带来了许多新特性和改进,为开发者提供了更高效、更安全的编程体验。下面将详细介绍JDK 1.7的主要特性及其重要性。 首先,JDK 1.7...

    Java安装环境所需的JDK1.7

    JDK1.7,也称为Java SE 7(Java Standard Edition 7),是Java历史上的一个重要版本,包含了对Java编程语言和平台的诸多改进与新特性。 首先,JDK的核心组成部分包括: 1. **Java编译器(javac)**:这是将源代码...

    java1.7 api 文档 中文版

    Java 1.7 API 文档是开发者理解和使用 Java 7 版本编程的重要参考资料。它包含了大量的类、接口、方法和异常,覆盖了Java SE(标准版)平台的核心库。这个中文版文档使得中国开发者能够更方便地学习和查阅Java 1.7的...

    java-jdk1.7-jdk-7u80-windows-x64.zip

    JDK 1.7,也被称为Java 7,是继Java 6之后的一个重大更新,它引入了许多新特性,旨在提高开发人员的效率和代码的可读性。其中最显著的变化包括: 1. **Strings in Switch语句**:在Java 7中,字符串可以被用作...

    java jdk 1.7官网免安装版本

    Java JDK 1.7,全称为Java Development Kit version 7,是Oracle公司推出的Java编程语言的开发工具包,主要用于编写、编译、测试和运行Java应用程序。这个版本的JDK在2012年发布,引入了许多新特性,提升了性能,并...

    JAVA_API_1.7中文.CHM

    在《JAVA_API_1.7中文.CHM》文档中,你可以找到所有这些特性的详细介绍,以及Java 7中的核心类库、集合框架、I/O流、网络编程、反射、国际化等各个方面的详细信息。每个类、接口或方法都有清晰的解释,包括其功能、...

    java-JDK1.7.zip java-JDK1.7.zip

    下面将详细介绍Java JDK 1.7中的关键知识点。 1. **动态类型语言支持**:JDK 1.7引入了 invokedynamic 字节码指令,这是Java语言的重大革新,允许在运行时动态解析方法调用。这为Groovy、JRuby等动态语言在Java平台...

    java1.7 特性实现

    Java 1.7,也被称为Java 7,是Java编程语言的一个重要...通过这些新功能,开发者可以编写出更高效、更易于维护的代码,提高了Java平台的生产力和灵活性。在实际项目中,熟练掌握这些特性将有助于提升软件的质量和性能。

    java api1.6、1.7

    接着,Java API 1.7(Java SE 7)于2011年发布,进一步提升了语言特性和库的功能: 1. **多版本选择语法**:允许导入特定版本的库,如`&lt;import static java.util.Collections.emptyList;&gt;`, 提高了代码的可读性。 2...

    java-jdk1.7免安装版本.zip

    在Java 1.7版本中,开发者可以享受到一系列新特性和改进,如增强的类型推断(Project Coin)、动态语言支持( invokedynamic 关键字)以及更高效的垃圾收集算法等。这些更新提升了开发效率,优化了程序性能,并且...

    JAVA API文档|JAVA API 1.7中文文档

    1. **多线程与并发**:Java 7在`java.util.concurrent`包中增加了许多并发工具类,如`ForkJoinPool`和`RecursiveAction`,它们支持并行计算,使得开发者可以更轻松地编写高效的多线程程序。此外,`Phaser`类提供了一...

    java1.7API中文版

    Java 1.7 API中文版是Java开发人员的重要参考资料,它包含了Java 7版本的所有公共类、接口、方法和常量的详细说明。这个API文档是开发者理解和使用Java平台标准版(Java SE)7功能的关键工具。以下是Java 1.7 API中...

    java jdk1.7源码包,用于centos7使用jdk1.7编译openjdk1.8的 1.7版本

    Java JDK 1.7源码包是用于在CentOS 7操作系统上进行OpenJDK 1.8编译的重要资源。这个源码包包含了Java Development Kit的1.7版本,通常被称为JDK 7,它是Oracle公司发布的Java编程语言和Java平台标准版的一个实现。...

    java1.7源码包含sun

    Java 1.7,也被称为Java 7,是Oracle公司发布的一个重要的Java开发工具包(JDK)版本,它在2011年发布,带来了许多新的特性和改进。源码包含"sun"部分,意味着我们可以深入理解Java平台的核心机制,这对于开发者来说...

    JAVA_API_1.7中文(最新、最全).chm.7z

    《JAVA_API_1.7中文(最新、最全)》是一个专门为Java开发者设计的API文档,它详尽地涵盖了Java 7版本中的各种类库、接口、方法和异常,是学习和开发Java程序的重要参考资料。这份文档以CHM(Compiled HTML Help)...

    JAVA_JDK_1.7

    JDK 1.7 引入了对动态类型语言的支持,通过新的 invokedynamic 字节码指令,使得Java能够更好地与Groovy、JRuby等动态语言交互。这为Java开发者提供了更多的灵活性。 2. **多路复用I/O**: NIO.2 (非阻塞I/O 2) ...

    java jdk1.7

    Java JDK 1.7,即Java Platform Standard Edition 7 (Java SE 7),是Java语言的一个重要版本,于2011年7月28日发布。此版本在前几代的基础上进行了大量的改进和优化,增加了许多新的特性和API。 #### 二、Java JDK ...

    java jdk1.6和1.7版本

    Java JDK 1.7,又称Java SE 7(Java Standard Edition 7),于2011年7月发布。这个版本带来了许多新特性和改进,包括: 1. **多语言支持**:引入了菱形操作符(),简化了泛型实例化,如`List&lt;String&gt; list = new ...

    java1.7版本API中文版最新

    Java 1.7 版本,也被称为 Java 7,是 Oracle 公司发布的一个重要更新,它在2011年正式推出。这个版本带来了许多改进和新特性,为开发者提供了更强大的工具和功能。Java API(应用程序编程接口)是Java开发的核心组成...

Global site tag (gtag.js) - Google Analytics