zoukankan      html  css  js  c++  java
  • JDK8到JDK12各个版本的重要特性整理

    JDK8新特性

    1、Lambda表达式

    2、函数式编程

    3、接口可以添加默认方法和静态方法,也就是定义不需要实现类实现的方法

    4、方法引用

    5、重复注解,同一个注解可以使用多次

    6、引入Optional来避免空指针

    7、引入Streams相关的API

    8、引入新的Date/Time相关的API

    9、新增jdeps命令行,来分析类、目录、jar包的类依赖层级关系

    10、JVM使用MetaSpace代替了永久代(PermGen Space)

    JDK9新特性

    1、接口方法可以使用private来修饰

    2、设置G1为JVM默认垃圾收集器

    3、支持http2.0的API

    JDK10新特性

    1、局部变量类型推断,类似JS可以通过var来修饰局部变量,编译之后会推断出值的真实类型

    2、并行Full GC,来优化G1的延迟

    3、允许在不执行全局VM安全点的情况下执行线程回调,可以停止单个线程,而不需要停止所有线程或不停止线程

    JDK11新特性

    1、ZGC,ZGC可以看做是G1之上更细粒度的内存管理策略。由于内存的不断分配回收会产生大量的内存碎片空间,因此需要整理策略防止内存空间碎片化,在整理期间需要将对于内存引用的线程逻辑暂停,这个过程被称为"Stop the world"。只有当整理完成后,线程逻辑才可以继续运行。(并行回收)

    2、Flight Recorder(飞行记录器),基于OS、JVM和JDK的事件产生的数据收集框架

    JDK12新特性

    1、Shenandoah GC

    2、Switch 表达式表达式

    3、G1收集器的优化

  • 相关阅读:
    JQuery -- this 和 $(this) 的区别
    js动态生成表格
    Sublime 3 如何使用列编辑模式
    新版Sublime text3注册码被移除的解决办法
    Sublime text 3 格式化HTML/css/js/json代码 插件
    mingw64 构建 Geos
    C++调用Python浅析
    linux下挂载VHD等虚拟磁盘文件
    linux 下Qt WebEngine 程序打包简单记录
    C++ UTF8和UTF16互转代码
  • 原文地址:https://www.cnblogs.com/jackion5/p/10772017.html
Copyright © 2011-2022 走看看