展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

⼤对象的分配

  • 简介
所谓的⼤对象是指,需要⼤量连续内存空间的 Java 对象,最典型的⼤对象就是那种很⻓的字符串以及数组
虚拟机提供了⼀个-XX: PretenureSizeThreshold 参数,令⼤于这个设置值的对象直接在⽼年代分配。即操作指定内存时,直接分配到老年代
这样做的⽬的是避免在 Eden 区及两个 Survivor 区之间发⽣⼤量的内存复制
  • 演练⼤对象配置
-verbose:gc -XX:+PrintGCDetails -XX:+UseSerialGC -Xms20M -Xmx20M -Xmn10M -XX:PretenureSizeThreshold=3145728

-verbose:gc -XX:+PrintGCDetails 开启GC⽇志打印
-Xms20 M 设置JVM初始内存为20M
-Xmx20 M 设置JVM最⼤内存为20M
-Xmn10 M 设置年轻代内存⼤⼩为10M
  • 测试代码

  • 配置

  • 控制台打印

posted @ 2022-09-15 17:09  DogLeftover  阅读(25)  评论(0编辑  收藏  举报