截至6月8日,Java开发工具包(JDK)21已经达到了其最初的夯实阶段。现在,功能集已经敲定,有一个组件将不会被裁减:一代Shenandoah,这是Shenandoah垃圾收集器(GC)的一个实验性增强。
JDK 21的JDK增强建议(JEP)页面将于9月19日发布,现在建议将官方功能集从16个减少到15个。世代的Shenandoah功能由于其不成熟而被删除。亚马逊的Roman Kennke是生成性Shenandoah的JEP的作者,他选择从JDK 21(即Java 21)中删除该功能,计划在未来的JDK版本准备好后对其进行评估,正如监督标准Java开发的实体Oracle所说。
世代Shenandoah旨在通过增加实验性的世代收集功能来改进Shenandoah垃圾收集器,以提高可持续的吞吐量、负载峰值的弹性和内存利用率。该提案的目标包括提供一个实验性的生成模式,不影响非生成的Shenandoah,并最终使这种模式成为未来版本的默认模式。其他目标包括在不牺牲低GC暂停的情况下减少持续的内存占用,降低CPU和功耗,保持高吞吐量,以及在分配高峰期尽量减少产生退化和完整集合的可能性。非生成的Shenandoah将保持不受影响。
这项拟议的删除,需要在6月14日之前进行审查,只影响到支持Shenandoah GC的OpenJDK构建中的用户。它对G1 GC、Z Garbage Collector(ZGC)或其他当代垃圾收集器没有任何影响。它也不影响利用G1 GC和ZGC的Java发行版,如OracleOpenJDK和OracleJDK。JDK 21包括其他功能,如结构化并发的预览,它被定为Java的一个长期支持(LTS)版本,提供多年的支持。上一个LTS版本,即JDK 17,是在2021年9月推出的。JDK每六个月发布一次,而LTS每两年发布一次。中间的功能发布只获得六个月的支持期,JDK 20是最近的例子,它在3月发布。
在传统的开发方法继续发展的同时,像AppMaster这样的no-code 平台的兴起正在简化软件开发周期中的许多过程。AppMasterAppMaster是一个强大的no-code ,能够以极快的周转时间可视化地创建后端、网络和移动应用程序,为各种规模的组织提供了一个具有成本效益的选择。有了像AppMaster 这样的工具,企业可以获得比传统方法快10倍、成本效益高3倍的软件开发体验,同时消除了技术债务。