目前 Java 11 版本中包含的 G1 垃圾收集器 暂时无法及时将已提交的 Java 堆内存返回给操作系统,G1 垃圾收集器仅在进行完整 GC (Full GC) 或并发处理周期时才能将 Java 堆返回内存 。由于 G1 回收器尽可能避免完整 GC,并且只触发基于 Java 堆占用和分配活动的并发周期,因此在许多情况下 G 1 垃圾回收器不能回收 Java 堆内存,除非有外部强制执行 。
在使用云平台的容器环境中,这种不利之处特别明显 。即使在虚拟机不活动,但如果仍然使用其分配的内存资源,哪怕是其中的一小部分,G1 回收器也仍将保留所有已分配的 Java 堆内存 。而这将导致用户需要始终为所有资源付费,哪怕是实际并未用到,而云提供商也无法充分利用其硬件 。如果在次期间虚拟机能够检测到 Java 堆内存的实际使用情况,并在利用空闲时间自动将 Java 堆内存返还,则两者都将受益 。
为了尽可能的向操作系统返回空闲内存,G1 垃圾收集器将在应用程序不活动期间定期生成或持续循环检查整体 Java 堆使用情况,以便 G 1 垃圾收集器能够更及时的将 Java 堆中不使用内存部分返还给操作系统 。对于长时间处于空闲状态的应用程序,此项改进将使 JVM 的内存利用率更加高效 。
如果应用程序为非活动状态,在下面两种情况下,G1 回收器会触发定期垃圾收集:
- 自上次垃圾回收完成 以来已超过 G1PeriodicGCInterva l 毫秒,并且此时没有正在进行的垃圾回收任务 。如果 G1PeriodicGCInterval 值为零表示禁用快速回收内存的定期垃圾收集 。
- 应用所在主机系统上执行方法 getloadavg(),一分钟内系统返回的平均负载值低于 G1PeriodicGCSystemLoadThreshold 。如果 G1PeriodicGCSystemLoadThreshold 值为零,则此条件不生效 。
G1 定期垃圾收集的类型根据 G1PeriodicGCInvokesConcurrent 参数的值确定:如果设置值了,G1 垃圾回收器将继续上一个或者启动一个新并发周期;如果没有设置值,则 G1 回收器将执行一个完整的 GC 。在每次一次 GC 回收末尾,G1 回收器将调整当前的 Java 堆大小,此时便有可能会将未使用内存返还给操作系统 。新的 Java 堆内存大小根据现有配置确定,具体包括下列配置:- XX:MinHeapFreeRatio、-XX:MaxHeapFreeRatio、-Xms、-Xmx 。
默认情况下,G1 回收器在定期垃圾回收期间新启动或继续上一轮并发周期,将最大限度地减少应用程序的中断 。如果定期垃圾收集严重影响程序执行,则需要考虑整个系统 CPU 负载,或让用户禁用定期垃圾收集 。
Java 13 新特性下边看看 JDK 13 中会带来哪些新特性:
- JEP 350,Dynamic CDS Archives:扩展应用程序类-数据共享,以允许在 Java 应用程序执行结束时动态归档类 。归档类将包括默认的基础层 CDS(class data-sharing)存档中不存在的所有已加载的应用程序类和库类 。
- JEP 351,ZGC: Uncommit Unused Memory:增强 ZGC 以将未使用的堆内存返回给操作系统 。
- JEP 353,Reimplement the Legacy Socket API:使用易于维护和调试的更简单、更现代的实现替换 java.net.Socket 和 java.net.ServerSocket API 使用的底层实现 。
- JEP 354: Switch Expressions (Preview):可在生产环境中使用的 switch 表达式,JDK 13 中将带来一个 beta 版本实现 。switch 表达式扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流 。这些更改将简化日常编码工作,并为 switch 中的模式匹配(JEP 305)做好准备 。
- JEP 355,Text Blocks (Preview):将文本块添加到 Java 语言 。文本块是一个多行字符串文字,它避免了对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式 。
【java 9 10 11 12 13新特性,这里为你总结全了】
推荐阅读
- 运行 JavaScript 代码片段的 20 种工具
- 重复开店会受到什么惩罚 淘宝店有违规,很长时间了,如何重新开店
- 梦见自己戴了一只玉手镯 梦见自己戴上一个新的玉手镯,划破手
- SEO新人切忌盲目跟风 SEO理论并不等于实际
- 松阳新兴乡,茶叶催生四大特色产业村
- 新站SEO优化的基础设置有哪些
- Google的新广告策略严重影响OTA巨头流量和业绩
- 龙润即溶茶珍 饮爆健康新时尚收藏
- 小米|小米又一款304不锈钢新品:500ml便携咖啡杯 倒了也不漏
- 福村梅记创意包装普洱新茶倍受收藏者青睐