java7
1、修改
主要修改
* 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应用。
2、新特性
Oracle在其官方网站上公布了《Java SE 7 Features and Enhancements》,其中详细介绍了Java SE 7 中所有主要的新特性和功能增强,具体内容如下:
Java编程语言特性
1.二进制形式的字面值表示
2.在数值类型的字面值中使用下划线分隔符联接
3.创建泛型实例时自动类型推断
4.switch-case语句支持字符串类型
5.新增try-with-resources语句
6.单个catch子句同时捕获多种异常类型
7.改进使用带泛型可变参数的方法时的编译器警告和错误提示机制
网络
1.类java.URLClassLoader新增close方法,该方法可以有效解决如何支持从特定代码库,尤其是jar文件中,加载类或资源的最新实现的问题。详情查看如何关闭URLClassLoader。
安全
1.新增ECDSA/ECDH等基于ECC加密算法的支持,详情查看Java加密体系结构中供应商SunEC提供支持的算法的部分内容。
2.禁用了MD2等一些弱加密算法,JavaSE7提供一种机制,用于在处理证书路径或与TLS交互时拒绝使用指定的加密算法。详情查看Java公共密钥程序员指南中的附录D:禁用指定的加密算法和Java安全套接字扩展中的禁用加密算法。
3.对Java安全套接字扩展(JavaSecureSocketExtension)中的SSL/TLS进行了一系列增强和完善。
并发
1.基于类java.util.concurrent.ForkJoinPool的fork/join框架,作为接口java.util.concurrent.Executor的一个实现,它被用来高效地运行工作线程池中的大量任务。其中还使用了一种名为work-stealing的技术,它可以充分利用多处理器来保证所有的工作线程一直正常工作。详情查看Java教程中的Fork/Join部分。目录%JAVA_HOME%/sample/forkjoin/中包含fork/join的演示示例。
2.新增java.util.concurrent.ThreadLocalRandom类,它消除了使用伪随机数的线程之间的竞争。在多线程并发访问的情况下,使用ThreadLocalRandom比使用Math.random()可以减少并发线程之间的竞争,从而获得更好的性能。例如:
a) intr=ThreadLocalRandom.current().nextInt(4,77);
b) //将返回一个4-77之间的随机整数(不包含77)。
3.新增java.util.concurrent.Phaser类,它是一个新的类似于java.util.concurrent.CyclicBarrier的线程同步障碍辅助工具类(它允许一组线程互相等待,直到到达某个公共屏障点)。
RichInternetApplication(RIA)/部署
国际化
1.JavaSE7中添加或改进了对Unicode6.0.0、本地化目录、本地化类文件以及ISO4217货币符号扩展性的支持。
java.lang包
1.JavaSE7修复了以前版本中多线程的自定义类加载器可能出现死锁的问题。
Java虚拟机(JVM)
1.java虚拟机支持非Java语言
2.G1(Garbage-First)垃圾收集器
3.JavaHotSpot虚拟机性能增强
Jdbc4.1
1.支持使用try-with-resources语句进行自动的资源释放,包括连接、语句和结果集
2.支持RowSet1.1
上一篇:SXSW
下一篇:李安琪
java7









