对象年龄配置

-XX:MaxTenuring Threshold
配置新生代对象的最大年龄

当超过这个年龄,对象就会进入老年代
默认值为15

回收过程

对象,首次创建都会被放置在新生代的eden区
如果,没有GC,对象不会离开eden区

只要,对象的年龄达到了一定的大小
就会自动离开新生代,进入老年代

对象年龄
是由对象经历的GC次数决定的,新生代每次GC
只要,对象没有回收,年龄都会加1

package com.bjsxt.base001;import java.util.HashMap;
import java.util.Map;public class Test05 {public static void main(String[] args) {// 测试进入老年代的对象// 参数:-Xmx1024M -Xms1024M -XX:+UseSerialGC -XX:MaxTenuringThreshold=15 -XX:+PrintGCDetailsfor (int k = 0; k < 20; k++) {for (int j = 0; j < 300; j++) {byte[] b = new byte[1024 * 1024];}}}
}

程序分析
每次使用1M,总共需要6000M内存

测试

参数配置

-Xmx1024M -Xms1024M -XX:+UseSerialGC -XX:MaxTenuringThreshold=10 -XX:+PrintGCDetails

初始化,最大内存,为1G
对象年龄,为10
运行

新生代,前10次进行GC
会有明显的效果,再往后GC新生代0K
说明,对象都已经不在新生代了

JVM中GC对象配置相关推荐

  1. 64位java_99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?

    点击上方石杉的架构笔记,右上选择"设为星标" 每日早8点半,精品技术文章准时送上 往期文章 BAT 面试官是如何360°无死角考察候选人的(上篇) 每秒上万并发下的Spring C ...

  2. java对象添加字段_99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?

    在 Java 程序中,我们拥有多种新建对象的方式.除了最为常见的new语句之外,我们还可以通过反射机制.Object.clone方法.反序列化以及Unsafe.allocateInstance 方法来 ...

  3. 【重难点】【JVM 01】OOM 出现的原因、方法区、类加载机制、JVM 中的对象

    [重难点][JVM 01]OOM 出现的原因.方法区.类加载机制.JVM 中的对象 文章目录 [重难点][JVM 01]OOM 出现的原因.方法区.类加载机制.JVM 中的对象 一.OOM 出现的原因 ...

  4. 请列举一下在jvm中哪些对象可以当作root对象?

    请列举一下在jvm中哪些对象可以当作root对象? 虚拟机栈中的引用对象. 方法区中的类静态变量引用的对象. 方法区中常量引用对象. 本地方法栈中JNI引用对象.

  5. JVM中GC小对象配置

    小对象配置 -XX:+UseTLAB 表示,使用TLAB TLAB Thread Local Allocation Buffer 线程本地分配缓存 一个线程专用的内存分配区域,为了加速对象分配 每一个 ...

  6. JVM中GC大对象配置

    大对象配置 -XX:PretenureSizeThreshold 配置直接进入老年代的对象大小 如果,对象不是太大TLAN区,优先分配空间 大对象 新生代eden区,无法装入时,会直接进入老年代 可以 ...

  7. JVM之GC常用配置参数

    JVM常用参数 -XX:+PrintGCDetails:打印gc日志详细信息-XX:+PrintGCTimeStamps:打印gc发生时相对jvm启动的时间戳,(后来加入了PrintGCDateSta ...

  8. JVM中的对象探秘(三)- 对象的实例数据与对齐填充

    引言 上一篇文章我们讲解了JVM对象内存布局的第一部分对象头,今天我们继续来讲讲剩下的两部分实例数据(Instance Data) .对齐填充(Padding). 实例数据与对齐填充 这两部分我们放在 ...

  9. JVM中GC原理解析

    一.在理解GC之前,先了解下JVM体系结构 1.1什么是GC GC可以理解为在追踪仍然使用的所有对象,并将其余对象标记为垃圾然后进行回收,这样的一个过程称之为GC,所有的GC系统可以从如下几个方面进行 ...

最新文章

  1. 零基础能学好UI设计吗
  2. 安装java时,配置环境变量classpath的作用
  3. (三)Neo4j自带northwind案例--Cypher语言应用
  4. 关于在pjsip中添加视频的流程说明
  5. Java中的形参和实参的区别以及传值调用和传引用调用
  6. 工具丨超好用的免费AWR分析工具
  7. IIS下配置跨域设置Access-Control-Allow-Origin
  8. 数据结构与算法之循环队列的操作
  9. hadoop运维笔记
  10. 音视频处理入门基础知识
  11. 经典简约风格教师求职简历免费word模板
  12. 【VMware vSAN 7.0】4.8 有关 vSAN 许可证的注意事项—我们有软硬件解决方案
  13. 2014,为了梦想宁愿破釜沉舟
  14. javascript有声调的汉字注音字典(兼容各浏览器)
  15. 移动互联网广告的那些事
  16. php小写数字变成大写,php 小写数字怎么转大写
  17. SpringSession 前后端使用Cookie
  18. 各种HIC处理数据之间的相互转化
  19. 结合webpack 一步一步实现懒加载的国际化简易版方案
  20. JVM的Eden由来

热门文章

  1. 408. Valid Word Abbreviation有效的单词缩写
  2. python学习日常-编码与字符串格式化
  3. Silverlight 置于悬浮层之下 背景透明的方法
  4. linux如何定期备份,在Linux系统中简单地实现定时备份的方法
  5. C++ Primer 5th笔记(chap 16 模板和泛型编程)重载模板和类型转换
  6. 区块链BaaS云服务(39)时戳信息Bystack“架构设计”
  7. 区块链BaaS云服务(28)TOP Network 之P2P 网络
  8. 数据结构解析——小白也能看懂的单链表
  9. 01-Secure Payload Dispatcher (SPD)
  10. docker搭建pwn环境