JDK 7 特性
虚拟机
? JSR 292:支持动态类型语言(InvokeDynamic)
? ? 通过对JVM、java语言和JAVA SE API扩展,在接近java语言的性能级别支持动态类型语言。
? 严格的class文件检查
? ? 51(SE 7)版本以上class文件必须经过类型检查验证,虚拟机不可以使用旧的验证机制。
语言
? JSR 334:小的语言改进(Coin工程)
? ? 一些计划中常用的小的语言改进:switch语句对String类型的支持;带资源管理的try语句块;二进制和下划线分割的数字表示法;多catch和明确的重新抛出;改进创建泛型时的类型推断(尖括号),如Map<String, List<String>> anagrams = new HashMap<>(); ;简化的可变参数方法调用警告;
核心
? 升级类加载器架构
? ? ClassLoader API修正,实现在非层次的类加载器形态的死锁。
? 关闭URLClassLoader的方法
? ? 释放类加载器保持的潜在资源。
?并发和集合的升级(JSR 116y)
? ? 轻量级fork/join框架,灵活且可重用的同步机Phaser,TransferQueue,ConcurrentLinkedDeque, ThreadLocalRandom。
国际化
? Unicode 6.0
? ? 支持Unicode 6.0
? 本地改进
? ? 升级java.util.Locale类,支持IETF BCP 47和UTR 35
? 区分本地格式和本地语言
?