`
songzhan
  • 浏览: 248097 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Java 7新特性及各版本性能对比测试(转)

 
阅读更多

著名科技博客博主Taranfx撰文: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)  

  测试环境: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

 


Java 7
 Java走向分裂源于Java 7的到来?
 Java 7新特性:自动化资源管理
 Oracle发布首个Java 7闭包版本
 走进Java 7模块系统
 性能监测工具优化Java应用程序
 Oracle对Java虚拟化支持策略新变化
 Java 7:Switch和OCP认证
 Java 7特性:如何在项目Coin中更精确的重新抛出异常

 

原文出处:http://tech.it168.com/a2009/0901/672/000000672269.shtml

分享到:
评论

相关推荐

    Java NIO与IO性能对比分析.pdf

    在性能对比测试中,实验结果表明,基于NIO的新服务器模型在处理高并发时,平均响应时间仅为2.09毫秒,且CPU占用率保持在68.5%的较低水平。与之相比,传统IO服务器模型在处理并发流量时,不仅性能上无法达到新模型的...

    java集合类类性能测试源代码

    这个“java集合类性能测试源代码”很可能是为了对比不同集合类在特定场景下的性能表现,帮助开发者选择最适合的集合实现。下面将详细解释Java集合框架中的主要类和它们的性能特性。 1. **ArrayList与LinkedList** ...

    ice和java socket性能测试对比

    在对比Ice和Java Socket的性能时,我们可能会关注以下几点: 1. **性能效率**:Ice通常会比Java Socket更高效,因为它使用了优化的序列化和反序列化机制,减少了网络传输的数据量。此外,Ice的多线程和异步调用模型...

    序列化性能测试JAVA

    在进行性能测试时,可以使用Java的`jmh`(Java Microbenchmark Harness)框架,这是一个专门为Java性能测试设计的工具,提供了准确的基准测试和结果分析。 例如,你可以创建一个简单的`jmh`测试,针对不同的序列化...

    java转json测试项目(附带json jar包)

    7. 性能分析:通过JMH(Java Microbenchmark Harness)或其他性能测试工具,对比两个库在大量数据转换时的性能。 这个测试项目对于开发者来说,是一个了解和比较不同JSON库实用性的实践案例。通过这个项目,你可以...

    Java里多个Map的性能比较(TreeMap、HashMap、ConcurrentSkipListMap)

    在Java编程中,Map接口是用于存储键值对的数据结构,而Java提供了多种Map的实现,包括TreeMap、HashMap和ConcurrentSkipListMap。本文主要比较了这三种Map的性能,尤其是在插入和查找操作上的效率。 1. **TreeMap**...

    java nio与io性能测试

    Java NIO(New IO)是Java 1.4引入的一个新模块,它是对传统IO(Input/Output)的扩展,提供了更高效的数据传输方式。在Java IO中,数据的读写是通过流进行的,而NIO则引入了通道(Channel)和缓冲区(Buffer)的...

    关于Java软件的性能测试分析.zip

    11. **测试报告**:性能测试报告应包含测试目标、测试环境、测试方法、测试结果、性能指标对比和建议的优化措施,以便团队和利益相关者理解并采取行动。 通过深入分析这份文档,我们可以获得对Java软件性能测试的...

    delphi(pas)转java

    总的来说,从Delphi转向Java涉及到语言特性的理解、代码结构的重构、库和API的替换,以及对新平台特性的掌握。这是一个复杂的过程,需要耐心和细致的工作。在转换过程中,保持代码清晰和可维护性,同时考虑未来扩展...

    实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能

    Vue3是Vue.js的最新版本,提供了更好的性能和新特性,如Composition API、Teleport、Suspense等。Element Plus是基于Vue3的UI组件库,它包含一系列丰富的预设样式和组件,如表格、按钮、对话框等,方便快速构建前端...

    Jmeter测试ActiveMQ性能报告

    本报告详细阐述了使用JMeter对ActiveMQ进行性能测试的过程和结果,旨在评估ActiveMQ在JMS(Java消息服务)环境下的性能表现。JMeter作为一个强大的负载和性能测试工具,被广泛用于测试各种应用程序,包括消息中间件...

    java反射性能测试分析.pdf

    本文将基于一个性能测试案例,探讨Java反射在对象创建、属性设置和获取上的性能表现,并与常用的工具包如Apache Commons BeanUtils进行对比。 首先,测试主要关注三个环节:创建对象、设置属性值(setter)和获取...

    java性能调优文档(sun)

    2. **基准测试**:在进行任何调优之前,先对当前系统的性能进行基准测试,以便后续对比改进效果。 3. **监控工具**:利用JMX(Java Management Extensions)、VisualVM等工具实时监控系统状态,收集必要的性能数据。...

    MyISAM引擎与InnoDB引擎性能的对比

    在性能对比上,MyISAM通常在读取速度上有优势,因为它不需要管理事务和行级锁定。但在写入密集型应用中,InnoDB的行级锁定能提供更好的并发性能。此外,InnoDB的崩溃恢复能力比MyISAM强,因为它会记录事务日志,能够...

    mybatis plus 5种批量操作性能测试

    通过这样的测试,我们可以了解 MyBatis Plus 在不同批量操作模式下的性能特性,为实际项目中的数据处理提供决策支持。在实际开发中,根据数据量、系统资源和业务需求选择合适的批量操作方式,可以有效地提升系统的...

    java网络框架对比报告.pdf

    ##### 4.3 性能对比 - **数据接收**: 测试结果显示,Netty在数据接收方面表现更优。 - **数据发送**: Mina和Netty在数据发送方面的性能差异不大。 - **数据库访问性能**: 由于Netty的高性能缓冲机制,其在数据库访问...

    几种测试工具对比

    本文将对比分析几种流行的测试工具,包括Winrunner、LoadRunner、SilkPerformer、Quicktestpro、SilkTest以及TestDirector,探讨它们各自的功能特性和适用场景。 Winrunner是一款功能测试工具,主要关注于自动化...

    利用缓冲区提高Java应用程序的IO性能

    通过对比这三种实现方式的性能差异,结果显示使用Java自带缓冲类的实现方式在大多数测试中表现最优。特别是在处理大规模文件时,这种实现方式的性能优势更为明显。此外,研究还比较了这些Java实现与相应的C++程序的...

    Redis性能测试

    Redis是一款高性能的键值对数据存储系统,常用于缓存和数据库领域。...总的来说,性能测试是评估技术栈的重要环节,通过对比测试,我们可以更好地理解各种技术在实际场景中的表现,从而做出更加明智的技术选型决策。

Global site tag (gtag.js) - Google Analytics