Java 5 & Java 6 区别

个人认为的主要区别:
  1、相比java5,java6的性能、稳定性显著提高;
  2、java6对于桌面应用做了许多改进;
  3、允许虚拟机运行时动态连接上去进行调试;
  4、标准化脚本语言,包括JRuby,Javascript,Groovy等。 

详细区别如下:
1、性能和质量

  Java 6 同Java 5不一样,没有新的语言特征,是一个以稳定、提高为目的的版本
  Java 6不论是服务器端还是客户端版本都有了两位数百分比的提高,根据领域的不同Java 6性能提高了20%-40%。
  在质量上,仅仅是兼容性测试就有100,000个测试程序来保证,Java 6是第一版在社区模式下开放式的进行的。
  Mustang社区为Java 6的开发提供了大量的错误报告,这些错误由于及时地在版本开发早期阶段中就发现,使得这一版的质量得到了极大的提高。
  从各种社区对于Java 6的反馈来看,从beta开始,人们就普遍认为这是一般质量比较高的版本。

2、新的安全功能

  Java 6对于安全的新支持主要有:
    JSR 105: XML DSIG API/implementation、
    本地平台GSS/Kerberos的集成、
    JSR 268: Smart Card I/O API、
    访问Windows平台本地PKI和加密服务、
    Java GSS实现对SPNEGO协议的支持、
    基于JAAS的LDAP认证、
    PKI证书路径生成器和校验器实现的改进等等。

3、桌面应用和部署

  Java 6对于桌面应用的改进应该说是最大的亮点之一,它不像安全那么不容易被人注意到,已经有很多人认为Java 6是面向桌面应用的版本
  Swing在许多方面得到改进:LookAndFeel,性能极大提高,字体反走样,GroupLayout集成,太多太多。

4、可插拔标注(Pluggable Annotations)

  支持自定义的标注,并且在虚拟机参数中可以直接加入处理标注的脚本。

5、编译器API

  Java 6提供了Compiler API可以让你编程实现对于Java编译器的运行时访问和控制。

6、虚拟机监控和管理

  现在的虚拟机工具,包括监控、调优、调试、和管理都能在Java程序运行的时候动态连接上去进行调控,不需要你在启动Java程序之前设置好选项。
  这对于服务器端长时间运行的服务程序,比如应用服务器,Web服务器等等出现问题时进行调试提供了极大的方便。
  这些程序往往出现问题时需要即时环境调试,不可能允许你关闭他们,再使用调试选项重新启动,重新调试。这一点非常非常有用。

7、新的桌面API

  包括SwingWorker、JTable排序和过滤、GroupLayout功能。SwingWorker能帮你编写响应速度比较快的Java用户界面。

8、数据库访问

  新的JDBC 4.0 API,以及一个纯Java的数据库(前身是Apache Derby),允许你在编写小类型的java应用时使用该数据库作为信息存储。

9、脚本语言标准化支持

  Java6标准化了脚本的支持,包括了流行的JRubby、JavaScript、Groovy等等。脚本语言的标准化被许多人看做Java 6最主要亮点之一

10、Web服务的完全支持

  提供了好用的API允许用户方便的开发Web服务,而不需要第三方的支持。

参考:
http://zhidao.baidu.com/question/137951718.html 

posted @ 2012-02-21 10:21  万法自然~  阅读(1321)  评论(0编辑  收藏  举报