点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

工欲善其事,必先利其器。作为老牌军 Java 在发行二十多年的今天,战胜了 C 和 C++,成为诸多开发者的宠儿,且如今从其更新速度来看,也是不甘落后。

今年的 9 月 21 日,大家期待已久的 Java 9 正式发布,现在开发者即将在几个月后就可以使用下一代 Java —— Java 10。十二月中旬,计划中的 Java 10 开发工具包升级节奏已经逐渐放缓。所以在目前阶段,产品升级后只能修复 P1 到 P3 的错误(https://www.infoworld.com/article/3183502/java/oracle-sets-priorities-for-java-9-bug-fixes.html)。

JDK 10 何时发布?

JDK 10 是 Java 10 标准版的部分实现,将于 2018 年 3 月 20 日发布,改进的关键点包括一个本地类型推断、一个垃圾回收的“干净”接口。

Oracle 已经为 Java 设定了六个月的发行计划。之前本打算根据发行的年份和月份命名升级版和后续版,这样的话第一个版本就会被称为 Java 18.3, 但这个计划后来被中止了。

如何下载 JDK 10?

用户要先加入早期使用者计划,然后才可以下载 JDK 10 测试版:http://jdk.java.net/10。

JDK 10 的新改进有哪些?

JDK 10 的主要功能包括:

  • 一个局部变量类型推断,通过增强语言特性将类型推断扩展到局部变量,目的是减少与编码相关的“仪式”,同时保持对静态类型的安全承诺。

  • 一个干净的垃圾收集器接口,用来改善垃圾收集器源代码之间的隔离效果,这样可以为HotSpot 虚拟机中的内部垃圾收集代码提供更好的模块化功能,也可以更容易向 HotSpot 添加新的垃圾收集器。

  • 并行、完整的 G1 垃圾收集器,通过实现并行性来改善最坏情况下的延迟问题。

  • 启用 HotSpot 将对象堆分配给用户指定的备用内存设备(如 NVDIMM 内存模块),这个特性也侧面预示了未来的系统可能会采用异构的内存架构。

  • 在 Linux / x64 平台上以实验性方式启用基于 Java 的即时编译器(https://www.infoworld.com/article/3187868/application-development/oracles-java-on-java-experiment-picks-up-steam.html)。

  • 将 JDK 的多个存储库合并成一个,简化开发。目前的代码库被分解成了多个库,容易出现源代码的管理问题。

  • 应用程序数据共享,通过跨进程共享通用类的元数据,减少空间占用及启动时长。

  • 线程本地握手,不执行全局 VM 安全点也能对线程执行回调,同时实现单线程停止回调。

  • JDK 提供了一组默认证书,开源 Java SE 的 CA程序,对开发人员更具吸引力。

JDK 10 的开发包括哪些阶段?

目前,Oracle 的 Java SE 下载页面(http://www.oracle.com/technetwork/java/javase/downloads/index.html)还没有提供对 JDK 10 的访问,因为在最终版本确认之前,JDK 10 还有一些其他的开发阶段,包括:

  • 2018 年 1 月 11 日:在所有支持的平台上,对所有计划完成至少一次的测试。

  • 2018 年 1 月 18 日:减速阶段,只修复“ showstopper ”的 Bug。

  • 2018 年 2 月 22 日:最终版本确认。

从 9 月 21 日期待已久的 JDK 9 版本发布开始,Oracle 就一直在计划 Java 的改进和升级,包括将于 2018 年 3 月到期的 Java 18.3 版本,这个版本将作为 Java 标准版的发布计划一部分。

Java 的长期路线图

以下是 Oracle 公司正在考虑的下一代产品、以及更高版本的 Java SE:

  • Amber 项目(https://www.infoworld.com/article/3187868/application-development/oracles-java-on-java-experiment-picks-up-steam.html)是面向生产力的语言特征孵化器,包括局部变量类型推断在内的各种较小的语言,目标是减少编写 Java 代码的相关程序、通过增强枚举使类型变量的常量执行更为清晰、提高 Lambda 方法的可用性。

  • Panama 项目(https://www.infoworld.com/article/2607953/java/article.html),将 JVM 和本地代码互连,具有来自 JVM 的本地函数调用和来自 JVM 的本地数据访问等功能。

  • Valhalla 项目(https://www.infoworld.com/article/2608087/java/java-incubator-to-explore-technologies-for-java-10-and-beyond.html)是高级 Java 虚拟机和语言特性孵化器。

  • Loom 项目(http://cr.openjdk.java.net/~rpressler/loom/Loom-Proposal.html),以降低编写并发应用程序的复杂性为目标,项目要求添加可选的用户模式线程实现、定界延续以及涉及调用堆栈操作的其他构造。通过提供一个由 Java 编写的调度器,替代实现线程的管理,这样子普通 Java 线程的 Java 编程模型就可以被保留下来,提高了性能,减少了占用空间。

新的六月发行计划推出后,也就意味着不同版本的功能更新会间隔六个月。但是目前除了已经宣布的 JDK 10 之外,Oracle 还没有承诺在 Java 中提供其他新的功能。

对于明年即将推出的 Java 10,在 JDK 10 早期试用版发布后(https://www.oschina.net/news/90271/jdk-10),网络上观点不一:

@一刀:厉害了,悄无声息的就发布了 JDK10。

@WO不吹牛:9 还没开始用,10 又悄悄的来了,这速度太 6 了。

@半个克林姆:不觉明历, 对于我这种菜鸡来说, 好像并没有什么影响!

@cky_Me:公司基本上用的还是1.6,1.7。

@东东-:快加上真泛型,删掉那堆没用的祖传模块。

......

那么你期待明年的 Java 10 吗?

原文:Java JDK 10: What new features to expect in the next Java

链接:https://www.infoworld.com/article/3230507/java/java-jdk-10-what-new-features-to-expect-in-the-next-java.html

作者:Paul Krill

翻译:言则

责编:苏宓

————— END —————

这届 360 公关不行

程序员:你为什么要离职?

96 年美女胜出!那个有关“猪脸识别”的比赛决出冠军啦

Java JDK 10:下一代 Java 有哪些新特性?相关推荐

  1. Java JDK 10会有什么期望

    由于我们刚刚习惯于9月发布的Java 9,因此距离下一代Java的发布只有几个月的时间了. 就在本月,计划中的Java Development Kit 10升级已进入开发的主要减速阶段. 在第一个初始 ...

  2. 尚硅谷Java入门视频教程第十七章——Java9Java10Java11新特性

    尚硅谷Java入门视频教程第十七章--Java9&Java10&Java11新特性 第17章:Java9&Java10&Java11新特性 17.1 Java 9 的新 ...

  3. Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java11 的新特性

    文章目录 概述 增强 String repeat strip.stripLeading.stripTrailing isBlank lines 增强文件读写 增强集合的数组操作 增强函数 Predic ...

  4. Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java12 的新特性

    本文收录在 <从小工到专家的 Java 进阶之旅> 系列专栏中. 你好,我是看山. 从 2017 年开始,Java 版本更新策略从原来的每两年一个新版本,改为每六个月一个新版本,以快速验证 ...

  5. Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java10 的新特性

    你好,我是看山. 本文收录在 <从小工到专家的 Java 进阶之旅> 系列专栏中. 从 2017 年开始,Java 版本更新策略从原来的每两年一个新版本,改为每六个月一个新版本,以快速验证 ...

  6. Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java9 的新特性

    你好,我是看山. 本文收录在 <从小工到专家的 Java 进阶之旅> 系列专栏中. 从 2017 年开始,Java 版本更新策略从原来的每两年一个新版本,改为每六个月一个新版本,以快速验证 ...

  7. Java 每半年就会更新一次新特性,再不掌握就要落伍了:Java13 的新特性

    你好,我是看山. 本文收录在 <从小工到专家的 Java 进阶之旅> 系列专栏中. 从 2017 年开始,Java 版本更新策略从原来的每两年一个新版本,改为每六个月一个新版本,以快速验证 ...

  8. Java复习第11天---11.3---Java8新特性---Stream流特点和常用方法2

    Java复习第11天---11.3---Java8新特性---Stream流特点和常用方法2 目录 文章目录 1.Stream流特点 2.filter:过滤 3.map:映射 ***后记*** : 内 ...

  9. Java复习第11天---11.4---Java8新特性---Stream流常用方法3和综合案例

    Java复习第11天---11.4---Java8新特性---Stream流常用方法3和综合案例 目录 文章目录 1.count:计数-终结方法 2.limit:取前几个元素-延迟方法 3.skip: ...

最新文章

  1. mysql注入式攻击_SQL的注入式攻击方式和避免方法
  2. PHP.ini的register_globals参数
  3. 安可与普通测评的区别_PRINCE王子TeXtreme Tour 100系列网球拍测评(文末有福利)
  4. ActionScript 3 作用域内部细节介绍
  5. Redis 主从复制的原理及演进
  6. springboot, thymeleaf 教你快速搭建网站
  7. linux-x86_64 error,ORA-09817/Linux-x86_64 Error: 28: No space left on device/ORA-01075
  8. python中ttk和tkinter_python tkinter中ttk组件如何使用?
  9. Android开发笔记(一百一十六)网络学习资源
  10. linux在电子信息工程行业中的应用,电子信息工程概述论文
  11. 51单片机呼吸灯c语言程序,用51单片机的呼吸灯程序
  12. 多条件查表数据库如何查询
  13. 2022“杭电杯”中国大学生算法设计超级联赛(5)杭电多校第五场
  14. 怎么批量给多个 PPT 添加自定义的水印?
  15. Python爬虫获取租房数据
  16. Google快讯-UTStarcom
  17. primeng的Tree初始化选中,实现联动效果
  18. 对抗生成网络学习(十六)——stackGAN++利用文字生成鸟类图片(tensorflow实现)(未完待续)
  19. 2022年海外有哪些直播带货平台?直播带货要怎么做?
  20. linux下shell命令之hwclock

热门文章

  1. C++的reinterpret_cast
  2. C++智能指针与动态内存分配
  3. 2021-2025年中国超细氢氧化铝行业市场供需与战略研究报告
  4. android 颜色0x00,Android 状态栏颜色兼容方案
  5. 新版开发工具?全新智能设备?华为开发者大会2021(Together)来了!
  6. 跳槽,成为程序员晋升与成长的唯一手段?
  7. 腾讯员工每年写3万行代码;马斯克承认利用摄像头监视车主;Chrome 89上线实时字幕 | 极客头条...
  8. X86 “将死“?RISC-V 正当立
  9. 漫画:什么是删库跑路?
  10. 继C / C ++之后,微软如何全面采用 Rust 的?