`
zhangfeilo
  • 浏览: 392078 次
  • 性别: 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运行环境 Java SE Runtime Environment 8.0.172.x86官方多语言正式版

    它包含了很多功能领域的新功能和增强功能。Java SE 8 通过减少样板代码,改进了集合和注释,简单的并行编程模型和更有效地利用现代多核处理器,提高了开发人员的工作效率和显着的增强了应用程序的性能。 Java SE 8u...

    java api最新7.0

    本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟博士教学用api 7.0中文文档。支持全文检索,在线即时查询。 里面列出了Java jdk 1.7的所有类及其使用...

    Java 7并发编程实战手册

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

    Java 17,JDK17 version "17.0.2"

    而在新的版本中,进行了一些功能增强,有需要的小伙伴们快来下载体验吧! java version "17.0.2" 2022-01-18 LTS Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86) Java HotSpot(TM) 64-Bit Server VM ...

    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基础入门自学课件 第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+TCP/IP+Socket编程 原书第2版

    在7CP/IP Socket首次发布时,Java作为一个新的未被关注的编程语 言刚出现。然而,自2001年以来,Java的网络编程能力已经得到了很大程度的扩展,而且 持续的应用优势已经使其成为了一个占主导地位的平台。考虑到Java...

    Java服务器程序设计

    全书从java服务器的体系结构、开发工具和管理工具、编程技术、安全机制等四个方面全面介绍java服务器的升友技术。通过阅读本书,读者不仅能够知道用java服务器体系结构开发servlet与用传统cgi编写程序的好处,而且还...

    Java编程思想(完整版)

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

    疯狂JAVA讲义

    1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6 1.3.2 Java程序的运行机制和JVM 6 1.4 开发...

    拼多多SDK 2019最新版 需要依赖Jave SE/EE 1.7及以上

    为了提高开发者的效率,拼多多开放平台SDK提供了用户授权、授权码刷新、接口访问、消息接收等功能。 JAVA SDK 需要依赖Jave SE/EE 1.7及以上 目前官方仅支持java版本sdk

    Z00433 Java TCP IP Socket编程 原书第2版

    考虑到Java受欢迎程度和近期在形式上和功能上令人兴奋的创新,本书的新版涵盖了Java的当前最新版本的内容(7.5版至1.7版),以及一些新的重要的抽象,包括NetworkInterface,InterfaceAddress,Inet4/6Address抽象...

    java运行时jre7_64位

    服务器不需要开发,所以不需要安装JDK占用较大空间,只需安装运行时jre就可以了,资源中有环境变量配置说明(对新手很有用哦),另外说明,进行微信开发的话一定要选择1.7及以上版本,要不然有些功能没办法实现,这...

    Java虚拟机

    第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出...

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

     本书是《轻量级java ee企业应用实战》的姊妹篇,《轻量级java ee企业应用实战》主要介绍以spring+hibernate为基础的java ee应用;本书则主要介绍以ejb 3+jpa为基础的java ee应用。ejb 3、jpa规范都属于sun公司所...

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

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

    基于Java和android的外卖APP设计.doc

    2 硬件接口 使用的通讯协议:TCP/IP协议 3 软件接口 操作系统:Windows 7 数据库:SQL Server2005 集成的商业组件:eclipse 3.7 Tomcat 7.0 AndroidSDK 4 系统功能需求 经过需求采集和需求分析,确定关键需求,本...

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

    提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4...

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

    目前最新版为java1.9 版本,比较常用版本为java1.8版本,为了配合后面maven最新版,官方建议安装java1.7或java1.8.首先在www.oracle.com 中下载对应操作系统的java版本,这里以windows 为例 ,然后傻瓜式下一步,...

    java写的仿qq2013程序,实现了绝大部分的界面构架以及简单的聊天功能

    唔、纯新手制作,所以代码可能不是很好,想了想还是发出来了;如果对你有帮助就好了,当然如果能够在回复中提出建议那将十分感谢! 作品运用了:eclipse、jdk1.7版本、java的swing以及简单的jdbc连接数据库操作

Global site tag (gtag.js) - Google Analytics