jdk7新特性
1、switch中使用String
2、try-with-resources
3、捕获多个异常
4 泛型实例化类型自动推断
5、增加二进制表示
6、数字中可添加分隔符
jdk8新特性
1.Lambda表达式
2.Stream函数式操作流元素集合
3.接口新增:默认方法与静态方法
4.方法引用,与Lambda表达式联合使用
5.引入重复注解
6.类型注解
7.最新的Date/Time API (JSR 310)
8.新增base64加解密API
9.数组并行(parallel)操作
10.JVM的PermGen空间被移除:取代它的是Metaspace(JEP 122)元空间
jdk9新特性
1.目录结构
2.JShell 工具 jShell命令
3.模块化
4.多版本兼容jar包
5.接口方法的改进(在接口中 jdk7 只能声明全名常量和抽象方法 jdk8 添加了静态方法和默认方法 jdk9添加了私有方法)
6.钻石操作符升级 可以有{}
7.异常处理try升级
8.下划线标识符命名的限制 _ 不允许了
9.String底层存储结构的变更(char数组变成byte字节数组)
10.增强了Stream API(在java8基础上,新增加4个方法)
11.jdk9 中引入httpClient api 代替原有的HttpURLConnection
jdk10新特性
1.局部变量的类型推断
2.GC改进和内存管理
3.线程本地握手
4.备用内存设备上的堆分配
5.其他Unicode语言 - 标记扩展
6.基于Java的实验性JIT编译器
7.开源根证书
8.根证书颁发认证(CA)
9.将JDK生态整合单个存储库
10.删除工具javah
jdk11新特性
181 嵌套类可见性控制
309 动态文件常量
315 改进 Aarch64 Intrinsics
318 Epsilon–一个无操作的垃圾收集器
320 删除 Java EE 和 CORBA 模块
321 HttpClient
323 用于 Lambda 参数的局部变量语法
324 Curve25519 和 Curve448 算法的密钥协议
327 Unicode 10
328 Flight Recorder(飞行记录器)
329 haCha20 和 Poly1305 加密算法支持
330 Launch Single-File Source-Code Programs(启动单一文件的源代码程序)
331 低开销的 Heap Profiling
332 TLS 1.3支持
333 ZGC: A Scalable Low-Latency Garbage Collector(可伸缩低延迟垃圾收集器)
335 弃用 Nashorn JavaScript 引擎
336 弃用 Pack200 工具和 API