正文内容加载中...
posted @ 2019-11-12 21:04 西北野狼 阅读 (25) 评论 (0) 编辑
摘要:在JDK 11中,Java引入了ZGC,这是一款可伸缩的低延迟垃圾收集器,但是当时只是实验性的。号称不管你开了多大的堆内存,它都能保证在 10 毫秒内释放 JVM ,不让它停顿在那。但是,当时的设计是它不能把内存归还给操作系统。对于比较关心内存占用的应用来说,肯定希望进程不要占用过多的内存空间了。 阅读全文
posted @ 2019-11-12 20:58 西北野狼 阅读 (18) 评论 (0) 编辑
摘要:全新实现的 NioSocketImpl 来替换JDK1.0的PlainSocketImpl。 它便于维护和调试,与 NewI/O (NIO) 使用相同的 JDK 内部结构,因此不需要使用系统本地代码。 它与现有的缓冲区缓存机制集成在一起,这样就不需要为 I/O 使用线程栈。 它使用 java.uti 阅读全文
posted @ 2019-11-12 20:51 西北野狼 阅读 (12) 评论 (0) 编辑
摘要:支持在Java application执行之后进行动态archive。存档类将包括默认的基础层CDS存档中不存在的所有已加载的应用程序和库类。也就是说,在Java 13中再使用AppCDS的时候,就不再需要这么复杂了。 该提案处于目标阶段,旨在提高AppCDS的可用性,并消除用户进行试运行以创建每个 阅读全文
posted @ 2019-11-12 20:43 西北野狼 阅读 (11) 评论 (0) 编辑
摘要:在JDK 12中引入了Raw String Literals特性,但在发布之前就放弃了。这个JEP与引入多行字符串文字(text block) 在意义上是类似的。 这条新特性跟 Kotlin 里的文本块是类似的。 现实问题 在Java中,通常需要使用String类型表达HTML,XML,SQL或JS 阅读全文
posted @ 2019-11-12 20:40 西北野狼 阅读 (18) 评论 (0) 编辑
摘要:引入了yield语句,用于返回值; 和return的区别在于:return会直接跳出当前循环或者方法,而yield只会跳出当前switch块。 阅读全文
posted @ 2019-11-12 20:19 西北野狼 阅读 (48) 评论 (0) 编辑
摘要:支持unicode 11 JDK 12版本包括对Unicode 11.0.0的支持。在发布支持Unicode 10.0.0的JDK 11之后,Unicode 11.0.0引 入了以下JDK 12中包含的新功能: 684 new characters 11 new blocks 7 new scrip 阅读全文
posted @ 2019-10-30 17:51 西北野狼 阅读 (29) 评论 (0) 编辑
摘要:Java 12 中增强了 G1 垃圾收集器关于混合收集集合的处理策略,这节主要介绍在 Java 12 中同时也对 G1垃圾回收器进行了改进, 使其能够在空闲时自动将 Java 堆内存返还给操作系统 ,这也是 Java 12 中的另外一项重大改进。 目前 Java 11 版本中包含的 G1 垃圾收集器 阅读全文
posted @ 2019-10-26 14:32 西北野狼 阅读 (34) 评论 (0) 编辑
摘要:G1是一个垃圾收集器,设计用于具有大量内存的多处理器机器。由于它提高了性能效率,G1垃圾收集器最终将取代CMS垃圾收集器。 该垃圾收集器设计的主要目标之一是满足用户设置的预期的 JVM 停顿时间。 G1 采用一个高级分析引擎来选择在收集期间要处理的工作量,此选择过程的结果是一组称为 GC 回收(co 阅读全文
posted @ 2019-10-26 13:24 西北野狼 阅读 (30) 评论 (0) 编辑
摘要:默认生成类数据共享(CDS)归档文件 同一个物理机/虚拟机上启动多个JVM时,如果每个虚拟机都单独装载自己需要的所有类,启动成本和内 存占用是比较高的。所以Java团队引入了类数据共享机制 (Class Data Sharing ,简称 CDS) 的概念,通过把一些核心类在每个JVM间共享,每个JV 阅读全文
posted @ 2019-10-26 13:05 西北野狼 阅读 (35) 评论 (0) 编辑