Java各版本新特性概括
发布时间:2021-11-12 10:54:51 所属栏目:PHP教程 来源:互联网
导读:Java或者说JDK的更新一般分为两部分内容:Java语言、JVM(C、C++编写),但通常情况下都不会单独发布,因为新的语言特性需要特定的JVM支持才行。 JDK Beta(1995) 1995年发布alpha和beta Java公开版本,非常不稳定 JDK1.0(1996) Sun公司发布Java1.0,发布
Java或者说JDK的更新一般分为两部分内容:Java语言、JVM(C、C++编写),但通常情况下都不会单独发布,因为新的语言特性需要特定的JVM支持才行。 JDK Beta(1995) 1995年发布alpha和beta Java公开版本,非常不稳定 JDK1.0(1996) Sun公司发布Java1.0,发布初期叫Oak,后改名为Java(JDK1.0基本上只支持Java语言基础特性) JDK1.1(1997) 1.引入内部类 2.引入JDBC 3.引入RMI J2SE 1.2(1998) 1.Java技术体系拆分为:J2SE、J2EE、J2ME 2.引入集合框架 3.引入JIT 4.引入EJB技术 5.引入Swing J2SE 1.3(2000) 1.引入Timer API 2.初次引入HotSpot VM J2SE 1.4(2002)(Java真正走向成熟的版本) 1.引入NIO 2.正则表达式 3.异常链 4.新增java.util.logging日志API J2SE 5.0(2004)(Java语言重大升级,版本号更名为5.0) 1.泛型 2.枚举 3.注解 4.自动装拆箱 5.静态导入(import static) 6.可变参数 7.JUC 8.For-Each循环 Java SE 6(2006)(JVM重大升级) 1.引入垃圾回收器G1 2.优化锁与同步、垃圾收集、类加载等 Java SE 7(2011)(SUN被Oracle收购,沉寂5年后由Oracle推出) 1.钻石语法(泛型实例化类型自动推断) 2.try-with-resources语法糖 3.多个catch块用|连接 4.switch中可以使用字符串 5.支持动态语言 6.64位JDK的指针压缩 7.数值可加下划线 Java SE 8(2014)(Java语言重大升级,LTS) 1.Lambuda表达式(闭包,允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理) 2.接口中的默认方法和静态方法 3.方法引用 无参构造器方法引用:类名::new 或者 Class Java SE 9(2017) 1.JVM类加载机制跟之前的双亲委派模型有了很大差别,趋向模块化设计,即Jigsaw项目(参考OSGi?) 2.AOT编译,通过Graal VM实现 3.改善锁竞争机制 4.http2.0客户端 5.String类底层不再采用char数组存储 6.默认垃圾回收器改为G1 Java SE 10(2018.3) 1.局部变量类型推断,var关键字 Java SE 11(2018.9)(LTS) 1.动态类文件常量 2.Epsilon无操作垃圾收集器,常用来做测试 3.引入ZGC Java SE 12(2019.3) 1.实验性的低延迟垃圾收集器:Shenandoah ![]() (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |