Java 在其发展早期就具有良好的多线程和并发能力,能够高效地利用多线程和多核 CPU。Java 开发工具包(Java Development Kit,JDK)1.1 对平台线程(或操作系统(OS)线程)提供了基本的支持,JDK 1.5 提供了更多的实用工具和更新,以改善并发和多线程。JDK 8 带来了异步编程支持和更多的并发改善。虽然在多个不同的版本中都进行了改进,但在过去三十多年中,除了基于操作系统的并发和多线程支持之外,Java 并没有任何突破性的进展。
尽管 Java 中的并发模型非常强大和灵活,但它并不是最易于使用的,而且开发人员的体验也不是很好。这主要是因为它默认使用的共享状态并发模型。我们必须借助同步线程来避免数据竞争(data race)和线程阻塞这样的问题。我曾经在一篇名为“现代编程语言中的并发:Java”的博客文章中讨论过 Java 并发问题。
随着Java 18将在两周内作为生产版本发布,Java 19 开始形成。
标准 Java的下一个版本JDK19将通过API对Java运行时JVM以外的代码实现调用操作,还可能涵盖从通用泛型到 RISC-V 端口的各种功能。
现在OpenJDK社区流传的Java 19第一个提案是一个外来函数和内存API,它将允许Java程序与Java运行时之外的代码和数据进行互操作。该功能将在Java开发工具包(JDK)19中进行预览,该工具包预计将于今年9月到来。
包含在 JDK 19 中的另一种可能性是 ,它正在 JDK 18 中进行第三次孵化。已经提出了第四次孵化。该 API 将表达向量计算,在运行时编译为最佳向量指令。
甲骨文公司说,总体今年的Java计划将继续发展四个项目:
Project Valhalla(孵化先进的JVM和语言功能); Project Panama(互联本地和JVM代码); Project Loom(改善并发性); 以及Project Amber(探索和孵化较小的、面向生产力的Java语言功能。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/290672.html