一般情况是四种,但是尤其以第一种来源最多

1.新生代对象每经历依次minor gc,年龄会加一,当达到年龄阀值会直接进入老年代。阀值大小一般为15

2.Survivor空间中年龄所有对象大小的总和大于survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,而无需等到年龄阀值

3.大对象直接进入老年代

4.新生代复制算法需要一个survivor区进行轮换备份,如果出现大量对象在minor gc后仍然存活的情况时,就需要老年代进行分配担保,让survivor无法容纳的对象直接进入老年代

转载于:https://www.cnblogs.com/sw008/p/11054349.html

JVM 老年代对象来源相关推荐

  1. JVM学习笔记之-堆,年轻代与老年代,对象分配过程,Minor GC、Major GC、Full GC,堆内存大小与OOM,堆空间分代,内存分配策略,对象分配内存,小结堆空间,逃逸分析,常用调优工具

    堆的核心概述 概述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域.Java堆区在JVM 启动的时候即被创建,其空间大小也就确定了.是JVM管理的最大一块内存空间. 堆内存的大小是可 ...

  2. 023、JVM实战总结:一步一图:那JVM老年代垃圾回收器CMS工作时,内部又干了些啥?

    1.前文回顾 对象都分配在新生代的Eden区,然后每次垃圾回收之后,存活对象都进入Survivor区,下一次垃圾回收后的存活对象都进入另外一个Survivor区. 2.CMS垃圾回收的基本原理 采用标 ...

  3. JVM老年代和年轻代

    年轻代&老年代( Young Generation & Old Generation) 年轻代:年轻代其实分为两部分,分别是1个Eden区和2个Survivor区(分别叫from和to ...

  4. JVM老年代垃圾收集器Serial Old和Parallel Old

    Serial Old垃圾收集器 老年代垃圾收集器,与Serial一样,是一个单线程垃圾收集器,不同的是用的算法不一样(标记-整理) 根据老年代的特点,有人设计了标记-整理(Mark Compact)算 ...

  5. jvm深入理解:内存分配与回收策略(优先在Eden分配、大对象直接进入老年代、长期存活的对象将进入老年代、动态对象年龄判定、空间分配担保)

    出入:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) Java技术体系的自动内存管理,最根本的目标是自动化地解决两个问题:自动给对象分配内存以及自动回收分配给对象的内存. 象的内存分配,从 ...

  6. 深入jvm之对象如何进入老年代

    简介 我们知道,整个jvm堆分为新生代和老年代,新生代的对象在进行垃圾回收的时候,可能会进入到老年代,那么我们知道年轻代的对象是如何进入到老年代的吗? 年轻代空间分配 新生代分成Eden,Surviv ...

  7. jvm之年轻代(新生代)、老年代、永久代以及GC原理详解

    关于JVM,也许你听过这些术语:年轻代(新生代).老年代.永久代.minor gc(young gc).major gc.full gc 不要急,先上图,这是jvm 堆内存结构图 仔细的你发现了 图中 ...

  8. java老年代_Java新生代老年代的划分及回收算法

    Java堆(Java Heap)是JVM所管理的最大内存区域,也是所有线程共享的一块区域,在JVM启动时创建. 此内存区域存放的都是对象的实例和数组.JVM规范中说到:"所有的对象实例以及数 ...

  9. Java-虚拟机-堆的内存规划/新生代/老年代/卡表

    本文阐述hotspot虚拟机对堆的规划方式 GC按照回收范围分为两种GC 1.minor GC(也叫Young GC)只能回收新生代,minor读作[ˈmaɪnər] ,译为少数的,速度非常快 2.f ...

最新文章

  1. linux引导过程简述6,CentOS 6系统启动引导过程讲解
  2. web布局最实用的12条css技巧
  3. 基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用。
  4. SD从零开始15 税(Taxes)
  5. 柴静《认识的人 了解的事》
  6. javascript 函数初探 (六)--- 闭包初探#4
  7. 互联网+工业,从哪里开始?
  8. golang编译时报错:Get “https://proxy.golang.org/github.com/antihax/optional/@v/v1.0.0.mod“: dial tcp 172.2
  9. 从SQL Server中导入/导出 Excel 的基本方法
  10. mysql 多个命令行,5.8.2.1在Windows命令行中启动多个MySQL实例
  11. php+app接口返回json数据,PHP对接APP的接口类,可返回json数据,xml数据
  12. java文件对比工具
  13. 51单片机---麻雀虽小,五脏俱全
  14. 中国移动智慧城市建设惠及1.3亿用户
  15. 网页上为何出现连接超时,怎么解决呢?
  16. 前端 - html2canvas 截图显示空白
  17. apk在android12设备无法安装(兼容android 12或更高版本)
  18. 笨办法学python练习35分支与函数
  19. 美术 2.1 DCC工具链与引擎工具链
  20. 男人20不勤,30不立,40则不富……

热门文章

  1. 关于Page翻页效果--Page View Controller
  2. PCL1.9的PCLConfig.cmake文件找不到eigen等外部依赖
  3. python beautifulsoup模拟点击_Python爬虫丨BeautifulSoup实践
  4. java实时获取android网速_获取Android网速的另一种方法
  5. mysql 月份差_MySQL时间差返回月个数
  6. html表格重置标签,HTML——表格标签
  7. 3种mysql的储存机制_MySQL三种InnoDB、MyISAM和MEMORY存储引擎对比
  8. js 多维数组长度_C++申请与释放动态数组1(学习笔记:第6章 16)
  9. visual studio2010-2015编译部署caffe
  10. C语言实现AES加解密