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
区分本地格式和本地语言