`
acen.chen
  • 浏览: 157663 次
  • 性别: 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 NIO与IO性能对比分析.pdf

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

    ice和java socket性能测试对比

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

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

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

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

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

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

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

    序列化性能测试JAVA

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

    java性能调优文档(sun)

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

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

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

    java nio与io性能测试

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

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

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

    java网络框架对比报告.pdf

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

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

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

    java反射性能测试分析.pdf

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

    java-API文档(包含1.6版本,1.9版本)

    对于有经验的开发者,研究新版本的API和特性可以帮助他们保持与时俱进,掌握最新的编程技巧和最佳实践。 总的来说,Java API文档是每个Java开发者必备的工具,它们不仅提供了详细的类库信息,还是学习和探索Java...

    informix-jdbc各版本驱动包合集.zip

    - 功能需求:新版本可能会引入新的特性或改进,根据项目需求选择最适合的版本。 - 兼容性:测试驱动与现有应用的兼容性,确保所有功能都能正常工作。 - 稳定性:高版本通常更稳定,但也可能存在新引入的bug,所以...

    ORMLite和GreenDao性能对比Demo

    对比测试可能会揭示以下情况: 1. 对于大量数据的插入和查询,GreenDao通常会更快,因为它减少了反射操作。 2. ORMLite可能在初始化和设置上更快捷,因为它的配置相对简单。 3. 在内存占用方面,GreenDao由于其高效...

    java论文范文封面

    - **重点研究内容**:可能涉及Java的新特性、性能优化、并发编程、内存管理、安全特性等。 - **实现途径及方法**:可能讨论使用Java进行软件开发的具体策略,比如MVC架构、设计模式、开发工具等。 - **C#语言与...

    java +虹软人脸识别+对比

    "Java + 虹软人脸识别+对比"的主题涉及了几个关键知识点,包括Java编程语言的应用、虹软的人脸识别技术以及人脸对比的实现。 1. **Java编程语言**:Java是一种广泛使用的跨平台编程语言,以其“一次编写,到处运行...

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

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

Global site tag (gtag.js) - Google Analytics