当前位置: 首页 > news >正文

JVM堆内存中新生代晋升到老年代的条件

1. 一般年龄判断

当对象在Eden区中经过第一次 Minor GC 后,如果仍然存活,则会被移动到 From Survivor 区,并且对象的年龄设为 1。每经过一次 Minor GC,存活下来的对象年龄加 1,若存活对象在 From Survivor 区的年龄达到阈值(一般为 15 岁),则会晋升到老年代。

虚拟机并不是永远地要求对象年龄必须达到了-XX:MaxTenuringThreshold=15才能晋升老年代;

2. 动态年龄判断

动态年龄判断: Survivor区的对象年龄从小到大进行累加,当累加到X年龄(某个年龄)时占用空间的总和大于50%(可以使用-XX:TargetSurvivorRatio=?来设置保留多少空闲空间,默认值是50),那么比X年龄大的对象都会晋升到老年代;

3. 大对象

定义大对象的大小的参数是 -XX:PretenureSizeThreshold ,它表示对象在超过这个阈值时将会直接分配到老年代,而不经过新生代。这个参数的默认值可以根据具体的虚拟机版本和配置进行调整,一般情况下默认值是 0,即所有对象都将在新生代分配。

ps:以下是我整理的java面试资料,密码是obht,感兴趣的可以看看。最后,创作不易,觉得写得不错的可以点点关注!

链接:https://www.yuque.com/u39298356/uu4hxh?# 《Java面试宝典》 

相关文章:

  • 【机器学习】CIFAR-10数据集简介、下载方法(自动)
  • 为什么有了HTTP协议,还要有WebSocket协议?
  • Spring总结之构造注入
  • TypeError: `dumps_kwargs` keyword arguments are no longer supported
  • ASCLL码表
  • JAVA集合4-HashMap
  • 【R语言简介】讲解
  • Python并发编程:协程-gevent模块
  • 本科毕业设计:计及并网依赖性的分布式能源系统优化研究。(C语言实现)(内包含NSGA II优化算法)(二)
  • ai聊天消息内容调用PHP写到excel中
  • docker通过dockerfile安装sftp教程
  • tomcat nginx 动静分离
  • NIO群聊系统的实现
  • 除了Gamma和tome,还有哪些值得推荐的ai写ppt工具?
  • [LeetBook]【学习日记】数组内乘积
  • ES6指北【2】—— 箭头函数
  • 【附node操作实例】redis简明入门系列—字符串类型
  • CentOS7简单部署NFS
  • java中的hashCode
  • jdbc就是这么简单
  • Mybatis初体验
  • uni-app项目数字滚动
  • Vue小说阅读器(仿追书神器)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 观察者模式实现非直接耦合
  • 和 || 运算
  • 前端技术周刊 2019-02-11 Serverless
  • 前端临床手札——文件上传
  • 手机端车牌号码键盘的vue组件
  • 温故知新之javascript面向对象
  • 再谈express与koa的对比
  • ​2021半年盘点,不想你错过的重磅新书
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #pragma 指令
  • (04)odoo视图操作
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (31)对象的克隆
  • (C#)一个最简单的链表类
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (过滤器)Filter和(监听器)listener
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (篇九)MySQL常用内置函数
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • **PHP二维数组遍历时同时赋值
  • .NET : 在VS2008中计算代码度量值
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET 发展历程
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • [<MySQL优化总结>]
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [Apio2012]dispatching 左偏树
  • [C#]C# OpenVINO部署yolov8图像分类模型