详细区别如下:
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服务,而不需要第三方的支持。