徐州网站建设商城制作网站推广seo,如何做好网站管理工作,东莞网站优化关键词排名,常用的网络营销工具有哪些?java开发指南六个月飞得如此之快#xff0c;是时候再次仔细研究一下即将发布的新JDK版本。 让我们满足Java 12及其向开发人员介绍的功能。 自Oracle推出加速六个月的发布节奏以来已经有一段时间了#xff0c;要跟上每个版本及其添加到表中的功能越来越难了。 从好的方面来看… java开发指南 六个月飞得如此之快是时候再次仔细研究一下即将发布的新JDK版本。 让我们满足Java 12及其向开发人员介绍的功能。 自Oracle推出加速六个月的发布节奏以来已经有一段时间了要跟上每个版本及其添加到表中的功能越来越难了。 从好的方面来看这种快速的发布速度也意味着Java引入了许多新功能供我们利用。 这意味着我们需要一直关注以查看添加了哪些令人兴奋的功能。 现在该看一下Java 12的全部含义了。 Java 12的新功能 Shenandoah低暂停时间的垃圾收集器 此实验功能希望添加一个名为Shenandoah的新垃圾收集GC算法该算法是为更喜欢响应性和可预测的短暂停顿的应用程序而设计的。 此功能引入了一种算法该算法足够有效以允许程序在可用内存中运行但也进行了优化以使中断正在运行的程序的时间不会超过几毫秒。 Shenandoah算法通过与正在运行的Java线程同时进行疏散工作将有助于减少GC暂停时间。 它以并发的CPU周期和空间为代价来交换暂停时间并且暂停时间与堆大小无关这意味着无论堆是200 MB还是200 GB您都将具有相同的一致暂停时间。 Oracle确实注意到这并不是要解决所有的JVM暂停问题因为这些问题可能是由于安全时间TTSP问题甚至是监视应用程序膨胀引起的。 对于这些情况该算法将不相关。 切换表达式 该JEP旨在扩展switch语句 多向分支语句它提供了一种基于表达式的值将执行分派到代码内不同部分的简便方法。 当前处于预览模式的此扩展使我们能够将switch用作语句或表达式以简化编码并为另一个即将到来的JEPPattern Matching for instanceof 305 做准备。 为了理解其含义Oracle共享了以下示例。 不必要的冗长和视觉上嘈杂的代码通常掩盖了难以调试的错误其中丢失的break语句表明发生了意外掉线 标记为“ case L-”的新开关标签将表示仅在标签匹配时才执行箭头右侧的代码。 因此现在可以编写之前的代码 G1改进 Java 12附带了2个对默认垃圾收集器G1的更新。 第一个标题为“ G1的可终止混合集合 ”有助于使G1混合集合可能超出暂停目标而中止。 当前G1使用分析引擎来选择收集期间要完成的工作量一旦确定了收集集并开始了收集则G1必须收集收集集所有区域中的所有活动对象而无需停止。 这导致垃圾收集器超出了暂停时间目标这是JEP旨在解决的问题。 G1的另一个功能还着重于提高垃圾收集器的性能特别是返回未使用的已提交内存。 当前版本的G1仅在完整GC或并发周期中从Java堆返回内存。 由于G1努力避免完全避免出现完整的GC并且仅基于Java堆占用和分配活动触发并发周期因此在很多情况下除非强制从外部执行否则它不会返回Java堆内存。 那就是“ 从G1Swift返回未使用的承诺内存 ”的地方着重于通过在G1空闲时自动将Java堆内存返回到操作系统来增强垃圾收集器。 还有什么 Java 12中引入的其他功能包括 Microbenchmark Suite –向JDK源代码添加基本的微基准套件使开发人员可以轻松地运行现有的微基准并创建新的微基准。 JVM常量API –引入了一个API以对关键类文件和运行时工件的名义描述进行建模例如可从常量池中加载的常量。 该API对于操作Java类和方法的工具很有用。 默认的CDS存档 -增强了JDK生成过程以生成类数据共享CDS存档并缩短了现成的启动时间。 这值得么 通过不断的更新我们看到了越来越多的功能引入该语言-但是开发人员对最近的更改有何感想 在大型系统和企业中升级和实现新的语言功能并不总是那么容易更不用说与遗留代码团队的本地技巧和黑客建立兼容性。 确实当我们冷漠地审视最新的Java版本时我们发现频繁发布并不意味着最新版本是最受欢迎的版本。 通过查看Google趋势我们可以发现事实并非如此 尽管Java 8是家族中“最古老”的成员但不可否认它的流行。 Java 11获得了一定的吸引力这可能是因为Java 11是最新的长期受支持的版本而Java 12在列表的底部。 它是一个新版本因此我们愿意给它一些时间但是从当前状态来看它似乎变化不大。 这是否意味着Oracle应该停止六个月的节奏 好吧不。 做出此决定是为了使Oracle比以前更快地发布“较小”的功能从而帮助Java与市场上的其他语言保持一致。 如果您询问我们此更改只会帮助Java保持其功能和普及性无论是对于编程世界中的年轻开发人员还是即将来临的开发人员和资深人员。 现在我们唯一的问题是……Java 13将引入什么这些功能将如何改变我们的编码方式 翻译自: https://www.javacodegeeks.com/2019/04/complete-guide-java-12-new-features.htmljava开发指南