`
picluo
  • 浏览: 334987 次
  • 性别: Icon_minigender_1
  • 来自: 大力亚
社区版块
存档分类
最新评论

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

    * 并发方面的细微调整 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代码 复制代码
  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)  
> 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基础入门自学课件 第01章 Java 程序设计概述(共46页).ppt

    1.1 机器语言、汇编语言和高级语言 1.2 Java 语言概述 1.3 Java平台和主要应用方向 1.4 Java的垃圾回收与代码安全检查机制 1.5 典型的Java开发环境 1.6 Java编程示例 ...1.8 Java JDK 6 新功能介绍

    Java 7并发编程实战手册

    java7在并发编程方面,带来了很多令人激动的新功能,这将使你的应用程序具备更好的并行任务性能。 《Java 7并发编程实战手册》是Java 7并发编程的实战指南,介绍了Java 7并发API中大部分重要而有用的机制。全书分为9...

    Java优化编程(第2版)

    8.2.3 本地ejb与远程ejb的性能比较 8.2.4 有状态会话ejb与httpsession 8.2.5 ejb 3.0规范中的ejb 8.3 优化无状态会话ejb性能 8.3.1 如何控制无状态会话ejb的生命周期 8.3.2 通过调节无状态会话ejb实例池的大小来优化...

    疯狂JAVA讲义

    1.6 Java程序的基本规则 16 1.6.1 Java程序的组织形式 16 1.6.2 Java源文件的命名规则 17 1.6.3 初学者容易犯的错误 18 1.7 垃圾回收机制 20 1.8 何时开始使用IDE工具 21 学生提问:老师,我想学习Java编程,...

    Java编程思想(完整版)

    尽管extends关键字暗示着我们要为接口“扩展”新功能,但实情并非肯定如此。为区分我们的新类,第二个办法是改变基础类一个现有函数的行为。我们将其称作“改善”那个函数。 为改善一个函数,只需为衍生类的函数建立...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    1.5 NetBeans的安装和使用 32 1.5.1 NetBeans的下载和安装 32 1.5.2 使用NetBeans开发Java EE应用 33 1.5.3 打开NetBeans项目 36 1.5.4 导入Eclipse项目 37 1.6 使用SVN进行协作开发 38 1.6.1 下载和安装SVN服务器 ...

    neo4j-java-driver:Java的Neo4j Bolt驱动程序

    Neo4j Java驱动程序 该存储库包含Neo4j的官方Java驱动程序。 该API旨在针对单实例数据库和集群数据库都起作用。 对于驱动程序用户 本节为正在构建Neo4j支持的应用程序的开发人员提供常规信息。 请注意,此驱动程序仅...

    RedPacket:这套红包系统是由java110官方团队开发和测试 第一期功能已经开发完成,其中包括功能 微信对接,支付宝对接,发红包,抢红包,求红包,兑红包 ,分享红包等功能 第二期功能 欢迎各位朋友issues 中讨论和留言,目前正在构思和考虑中

    红包系统是有maven3 + spring3.2.4.RELEASE + mybaits3.3.0 + mysql5.6 架构整个系统的架构比较简单入门,凡是有一点java基础的朋友,很容易入门二次开发安装说明:1.0 安装java此系统要求java版本为1.6以上,...

    Java虚拟机

    这本书的内容是帮你全面了解java虚拟机,本书第1版两年内印刷近10次,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...

    Grails权威指南

     1.7 单元测试  1.8 本章小结 第2章 groovy动态语言  2.1 groovy和java的异同  2.1.1 相同点  2.1.2 不同点  2.2 基础知识  2.1.1 类声明 . 2.2.2 语言级断言(assertion)  ...

    java写的记事本源代码

    用java写windows记事本源代码,具体功能如下: 1.文件(F) 可以通过点击菜单或快捷键(alt + F)打开菜单页 1.1新建(N) 菜单内点击或助记符N或快捷键(ctrl + N) 点击后弹出对话框,询问是否保存到***.txt?...

    智能源码统计专家

    ☆1.5版:在1.2版的基础上增加了列表框中对统计记录进行排序和双击文件名直接浏览编辑文件内容的功能,同时改用多线程进行代码统计。 ☆1.2版:在1.0版的基础上新增对VB项目文件和&quot;;.frm&quot;;和&quot;;.bas&...

    经典书籍:Oracle.10g应用服务器管理与网格计算

    第7章 Oracle 10g 应用服务器集成和身份管理 …… 第8章 Oracle 10g应用服务器Toplink 第9章 Oracle 信息结构整合 第10章 Oracle 10g 无线应用服务器 第11章 Oracle 10g 应用服务器的工作流API与实例 第12章 Oracle ...

    java-videorental

    VideoWorld - 示例应用程序 ...Java 1.6(推荐 1.7) Maven 3.0.4(推荐 3.2.x) #####下一步 查看一些有代表性的测试并添加一些缺失的测试(故意缺失的) 构建一些新功能 - 在此过程中尝试 TDD 等!

    swing 酒店管理系统源码

    (7)在导入工程的src文件中,找到可执行的主类,在该类上单击鼠标右键,选择“运行方式”/“Java应用程序”项,如图1.6所示,完成程序配置。 图1.6 选择菜单项 使用说明 系统介绍 酒店管理系统的需求包括开台点菜...

    Android高级编程.pdf

    1.5 Android SDK功能 1.5.1 对包括摄像头、GPS和加速计在内的硬件的访问 1.5.2 自带的Google地图、地理编码和基于位置的服务 1.5.3 后台服务 1.5.4 SQLite数据存储和检索数据库 1.5.5 共享数据和应用程序间通信 ...

Global site tag (gtag.js) - Google Analytics