• 反腐败国际合作"朋友圈"又大了! 2019-07-13
  • 前线 从一面“魔镜” 看苏宁科技集团智能化发展战略 2019-07-13
  • 身份证被盗产生不良记录 网络虚拟账号权属纠纷如何避免 2019-07-07
  • 的确,呆子七窍通了栁窍。[哈哈] 2019-06-20
  • 强国博客首页整合公告 2019-06-08
  • 西海都市报数字报刊平台 2019-05-27
  • 美国反拥枪的孩子很受伤 2019-05-25
  • C罗戴帽单骑救主 葡萄牙33战平西班牙 2019-05-25
  • 证监会去年对外公开监管信息14560条 2019-05-16
  • 中山八路总站调整12公交线 2019-05-16
  • 谢春涛:深刻把握“中国特色社会主义进入新时代”的重大意义 2019-05-09
  • 湖南一博士生举报水利局领导受贿 遭到冒牌纪委约谈 2019-05-09
  • 西安地铁唐风诗韵文化专列将于6月18日首发 2019-04-30
  • 铜梁区旧县街道:全面提升执行力 推动工作落地见效 2019-04-30
  • 上海电影节女性影人大放异彩 中生代女演员不用焦虑 2019-04-29
  • Java 12 / JDK 12 正式发布

    oschina
     oschina
    发布于 2019年03月20日
    收藏 37

    自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段。按照发布周期,美国当地时间 3 月 19 日,也就是今天 Java 12 正式发布了!


    △ JDK 12 GA 发布

    Java 12 带来了一系列新特性:

    189 Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)    低暂停时间的 GC
    230 Microbenchmark Suite    微基准测试套件
    325 Switch Expressions (Preview)    Switch 表达式
    334 JVM Constants API    JVM 常量 API
    340 One AArch64 Port, Not Two    只保留一个 AArch64 实现
    341 Default CDS Archives    默认类数据共享归档文件
    344 Abortable Mixed Collections for G1    可中止的 G1 Mixed GC
    346 Promptly Return Unused Committed Memory from G1    G1 及时返回未使用的已分配内存

    下边分别来看看:

    Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)

    Shenandoah:低暂停时间的 GC(实验性功能)

    新增了一个名为 Shenandoah 的 GC 算法,通过与正在运行的 Java 线程同时进行 evacuation 工作来减少 GC 暂停时间。使用 Shenandoah 的暂停时间与堆大小无关,这意味着无论堆是 200 MB 还是 200 GB,都将具有相同的暂停时间。

    Microbenchmark Suite

    微基准测试套件

    JDK 源码中新增了一套微基准测试套件,使开发人员可以轻松运行现有的微基准测试并创建新的基准测试。

    Switch Expressions (Preview)

    Switch 表达式(预览功能)

    扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的模式匹配(JEP 305)做好准备。

    JVM Constants API

    JVM 常量 API

    引入 API 对关键类文件和运行时工件建模,特别是可从常量池加载的常量。在新的 java.lang.invoke.constant 包中定义了一系列基于值的符号引用(JVMS 5.1)类型,它们能够描述每种可加载常量。符号引用以纯 nominal 形式描述可加载常量,与类加载或可访问性上下文区分开。有些类可以作为自己的符号引用(例如 String),而对于可链接常量,定义了一系列符号引用类型(ClassDesc、MethodTypeDesc、MethodHandleDesc 和 DynamicConstantDesc),它们包含描述这些常量的 nominal 信息。

    One AArch64 Port, Not Two

    只保留一个 AArch64 实现

    删除了与 arm64 相关的所有源,同时保留 32 位 ARM 实现和 64 位 aarch64。

    JDK 中存在两套 64 位 ARM 实现,主要存在于 src/hotspot/cpu/arm 和 open/src/hotspot/cpu/aarch64 目录。两者都实现了 aarch64,现在将只保留后者,删除由 Oracle 提供的 arm64。这将使贡献者将他们的精力集中在单个 64 位 ARM 实现上,并消除维护两套实现所需的重复工作。

    Default CDS Archives

    默认类数据共享归档文件

    针对 64 位平台,使用默认类列表增强 JDK 构建过程以生成类数据共享(class data-sharing,CDS)档。

    Abortable Mixed Collections for G1

    可中止的 G1 Mixed GC

    如果 G1 Mixed GC 存在超出暂停目标的可能性,则使其可中止。

    Promptly Return Unused Committed Memory from G1

    G1 及时返回未使用的已分配内存

    增强 G1 GC,在空闲时自动将 Java 堆内存返回给操作系统。为了实现向操作系统返回最大内存量的目标,G1 将在应用程序不活动期间定期执行或触发并发周期以确定整体 Java 堆使用情况。这将导致它自动将 Java 堆的未使用部分返回给操作系统。而在用户控制下,可以可选地执行完整的 GC,以使返回的内存量最大化。

    上述每一个新特性都有详细的说明文档,可以点击相应链接查看。

    观望 JDK 13

    根据 JDK 13 的迭代计划,预计将于 2019 年 9 月发布 —— Java 现在采取“半年发布一次版本”的模式。

    可访问 //openjdk.java.net/projects/jdk/13/ 查看 JDK 13 的相关信息。

    讨论

    留意到不少开发者对 Raw String Literals 特性情有独钟,该特性类似于 JavaScript ES6 语法中的模板字符串,使用它基本可以告别丑陋的字符串拼接。特性详见 //openjdk.java.net/jeps/326。

    该特性原计划于 JDK 12 发布,可惜最后还是被取消了,详见:
    //mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html

    可能是因为业界呼声太高,最近委员会又把这个特性拿出来重新讨论了:
    https://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-January/000931.html

    你最想要的 JDK 特性是什么?在留言区和大家分享吧!~

    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处,尊重他人劳动共创开源社区。
    转载请注明:文章转载自 OSCHINA 社区 广东十一选五推荐号
    本文标题:Java 12 / JDK 12 正式发布
    加载中

    精彩评论

    Moodys
    Moodys
    坚持Java8不动摇
    单指环quee
    单指环quee

    引用来自“zhonghao11”的评论

    java开发者是不是真的太顽固了呢,我也是搞java开发的,最近公司用了新的框架和语言,vertx + koltin,对比下来,spring boot +mybaits的开发速度确实比koltion开发的快,但是并发量比起vertx + koltin差了好多,koltin真的是java的补充,可以尝试koltin+java混合开发
    @zhonghao11 是语言导致并发低???你是什么见解。你这样说php,node,pyPython,都不服了。
    长白山山长
    长白山山长
    新特性没什么吸引力啊,还是用我的1.4吧
    steven_ali
    steven_ali
    现在成版本帝了,我司现在还跑在1.6上.......
    cyper
    cyper
    没有原生的跨行字符串及字符串插值, 差评!

    最新评论(79

    B
    BeeHoney
    半年出一大版本?什么概念?? jdk9,jdk10,看官网,是直接不显示了!!!
    LarryYan
    LarryYan

    引用来自“zhonghao11”的评论

    java开发者是不是真的太顽固了呢,我也是搞java开发的,最近公司用了新的框架和语言,vertx + koltin,对比下来,spring boot +mybaits的开发速度确实比koltion开发的快,但是并发量比起vertx + koltin差了好多,koltin真的是java的补充,可以尝试koltin+java混合开发

    引用来自“单指环quee”的评论

    @zhonghao11 是语言导致并发低???你是什么见解。你这样说php,node,pyPython,都不服了。

    引用来自“zhonghao11”的评论

    没说语言导致并发地,vertx是事件驱动型,性能比传统的io阻塞性高并发的时候快了好多
    vertx也用过,最大的好处就是异步,但是自从spring5了就也有这种功能了。spring最大的好处就是生态,vertx虽好,但并不是所有的业务都用异步处理就会性能高的
    z
    zhonghao11
    spring 5 的webflux也是基础事件驱动,但是没有推广的原因的数据库读取方面没有做到异步。确实不是说所有的业务用异步处理会快,但是现在的架构大部分用上了微服务,这样意味各个服务之间的技术没有收到限制(对比传统的rpc),有些服务可以尝试试用下事件驱动型的框架,说不定会有更好的结果
    z
    zhonghao11

    引用来自“zhonghao11”的评论

    java开发者是不是真的太顽固了呢,我也是搞java开发的,最近公司用了新的框架和语言,vertx + koltin,对比下来,spring boot +mybaits的开发速度确实比koltion开发的快,但是并发量比起vertx + koltin差了好多,koltin真的是java的补充,可以尝试koltin+java混合开发

    引用来自“单指环quee”的评论

    @zhonghao11 是语言导致并发低???你是什么见解。你这样说php,node,pyPython,都不服了。
    没说语言导致并发地,vertx是事件驱动型,性能比传统的io阻塞性高并发的时候快了好多
    N先生
    N先生
    希望可以增加针对数据编写开发的粘合性
    漠孤烟
    漠孤烟

    引用来自“shizongger”的评论

    卧槽 我刚毕业那会儿还是用1.6,不到三年就升级到12了!
    你毕业是,都已经发布java8了吗好,只能说你们教材旧。
    Java9之后每半年一个版本,每三年一个长期支持版本。
    Java11是长期支持版本。
    J
    Jason909

    引用来自“LootanHu”的评论

    弱弱地问一句,java可执行程序,是java自己编译的么。犹如gcc使用gcc来编译。
    是的,所以在build OpenJDK的时候需要事先有一个可以运行的JDK
    棱语曲
    棱语曲
    谷歌带头刷版本号,现在好了,全世界都刷了起来
    Eriloan
    Eriloan
    $ java -version
    openjdk version "1.8.0_202"
    OpenJDK Runtime Environment (Dragonwell 8.0-preview) (build 1.8.0_202-b30)
    OpenJDK 64-Bit Server VM (Dragonwell 8.0-preview) (build 25.202-b30, mixed mode)
    TianYu
    TianYu
    Promptly Return Unused Committed Memory from G1
    这个很有用啊,终于等到了,就是不知道实际效果如何
    加百列Gabriel
    加百列Gabriel

    引用来自“易小云”的评论

    Shenandoah gc 和zgc感觉很类似啊,有什么区别吗?
    原理不一样,估计 openjdk 开发者想找出哪种垃圾回收算法更好
    返回顶部
    顶部
  • 反腐败国际合作"朋友圈"又大了! 2019-07-13
  • 前线 从一面“魔镜” 看苏宁科技集团智能化发展战略 2019-07-13
  • 身份证被盗产生不良记录 网络虚拟账号权属纠纷如何避免 2019-07-07
  • 的确,呆子七窍通了栁窍。[哈哈] 2019-06-20
  • 强国博客首页整合公告 2019-06-08
  • 西海都市报数字报刊平台 2019-05-27
  • 美国反拥枪的孩子很受伤 2019-05-25
  • C罗戴帽单骑救主 葡萄牙33战平西班牙 2019-05-25
  • 证监会去年对外公开监管信息14560条 2019-05-16
  • 中山八路总站调整12公交线 2019-05-16
  • 谢春涛:深刻把握“中国特色社会主义进入新时代”的重大意义 2019-05-09
  • 湖南一博士生举报水利局领导受贿 遭到冒牌纪委约谈 2019-05-09
  • 西安地铁唐风诗韵文化专列将于6月18日首发 2019-04-30
  • 铜梁区旧县街道:全面提升执行力 推动工作落地见效 2019-04-30
  • 上海电影节女性影人大放异彩 中生代女演员不用焦虑 2019-04-29
  • 3d购买技巧 休彩湖北11选5 浙江快乐12图表走势图 湖北快三一定牛-百度 富婆一波中特最准 彩票走势图周6开走势 江苏7位数守号 陕西11选5最大遗漏 网易江苏快3走势图 重庆幸运农场开奖 188竞彩足球比分直播 500w篮球比分网 王中王一尾中特 百灵诈金花金币 英超集锦视频