4年前 (2020-09-22)  爪哇岛 |   抢沙发  763 
文章评分 0 次,平均分 0.0

metaspace元空间

  • JDK 8没有永久发电
  • 类元数据存储在名为Metaspace的新空间中
  • 与Java堆不相邻
  • 元空间从本机内存中分配
  • 元空间的最大可用空间是可用系统记忆
  • 这可能会受到MaxMetaspaceSize JVM选项的限制

Compressed Class Space压缩类空间

  • 如果启用了UseCompressedClassesPointers,则内存用于类及其元数据
  • Metaspace
  • – Compressed class space
  • 64位类指针用32位偏移量表示
  • 由32位偏移量引用的类元数据存储在Compressed Class Space
  • 默认压缩类空间大小为1GB
  • MaxMetaspaceSize为这两种类型的提交大小设置了上限这些空间

JVM虚拟机HotSpot内存科普

JVM虚拟机HotSpot内存科普

更多细节参考这篇文章:https://javakk.com/436.html

Code Cache代码缓存

  • 代码缓存用于存储Just intime编译器生成的编译代码
  • 从本机内存中分配
  • 由代码缓存清理器管理

Native Memory本机内存

  • 可用系统内存
  • 不受JVM内存管理的管理

JVM虚拟机HotSpot内存科普

HotSpot Garbage Collectors垃圾收集器

JVM虚拟机HotSpot内存科普

热点垃圾收集类型

Young Generation年轻代系列

–Serial是一个stop-the-world,复制收集器,使用单个GC线程

–ParNew是一个stop-the-world,复制使用多个GC线程的收集器

–Parallel Scavenge是一个停止世界,复制使用多个GC线程的收集器

Old Generation老年代收藏

–Serial Old是一个使用单个GC线程的stop-the-world、mark-sweep紧凑型收集器

–CMS是一个多并发、低暂停的收集器

–Parallel Old是一个使用多个GC线程的压缩收集器

G1是大型堆的第一个垃圾收集器,提供可靠的GC暂停

–有几代,但使用不同的内存布局

如何启用收集器

  • UseSerialGC:Serial + Serial Old
  • UseParNewGC:ParNew + Serial Old
  • 使用concmarksweepgc:ParNew+CMS+Serial Old。CMS是大多数是时候收集老一代了。当一个并发的发生模式故障。
  • UseParallelGC:Parallel Scavenge + Parallel Old
  • 两代都使用g1gc:G1 GC

JVM虚拟机HotSpot内存科普

JVM虚拟机HotSpot内存科普

标记-扫描紧凑型采集器

  • -XX:+UseSerialGC或–XX:+UseParNewGC为Old选择串行旧收集器一代
  • Stop-the-world 老年代收集器。
  • 旧的是用标记-清除紧凑型收集的。
  • 标记相位:标记所有带电物体。
  • 清扫阶段:扫过堆,识别垃圾。
  • 滑动阶段:GC执行滑动压缩,滑动活动对象在堆的开始。

Parallel Collector并联采集器

-XX:+usepallelgc

–Young Generation collected with Parallel Scavenge

– Old Generation collected with Parallel collector

也称为吞吐量收集器

Stop-the-world收集

JDK 9之前的服务器类型机器上的默认值

在多个核心上并行执行采集

并发标记扫描收集器

-XX:+UseConcMarkSweepGC

–Young gen–ParNew收集器

–老一代–CMS收集器

低延迟采集器,主要是并发的

无堆压缩-碎片化

免费列表链接未分配区域

与缓冲指针分配相比,分配成本较高

年轻收藏品的额外开销

更大的堆大小要求和浮动垃圾

在Java 9中已弃用

G1收集器

服务器式垃圾回收器,针对大内存

在实现垃圾收集(GC)暂停时间目标的同时高吞吐量

更好的GC人体工程学

低暂停,无碎片

集合中的并行性和并发性

G1是压实收集器

在Oracle JDK 7 update 4及更高版本中完全受支持

JDK 9中的默认收集器

 

除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/444.html

关于

发表评论

表情 格式

暂无评论

登录

忘记密码 ?

切换登录

注册