ReviewForJob——java虚拟机的垃圾回收策略(个人总结)
问题1:哪些内存需要回收?问题2:什么时候进行回收?问题3:怎样来回收?
1)程序计数器:线程私有,用于记录 当前线程所执行class 字节码的行号计数器;2)java 虚拟机栈:线程私有,指java 方法执行的 内存模型;3)本地方法栈:线程私有,指java 本地方法执行的 内存模型;4)java堆:线程公有,用于存储所有对象实例 和 数组;5)方法区:线程公有,用于存储编译后的 类信息(Class类),常量,静态变量 和 即时编译后的数据;
O1)虚拟机栈或本地方法栈中引用的对象;O2)方法区中常量或类静态属性引用的对象;
缺点1:效率问题,标记和清除两个效率都不高;缺点2:空间问题,标记清除之后会留下大量的内存碎片 以至于可能导致以后分配较大对象时,因为无法找到足够的连续内存而不得不提前触发来一次垃圾收集动作;
缺点1:该算法的代价是将内存缩小了一半;内存利用率低;
新生代:新生代中,每次垃圾收集时都发现有大批对象时区,只有少量存活,选用复制算法;老年代:因为老年代中 对象存活率高,没有额外空间对它进行分配担保,就必须使用 “标记-清理” 或 标记整理算法 进行回收;
ReviewForJob——java虚拟机的垃圾回收策略(个人总结)相关推荐
- java虚拟机多久触发垃圾回收_每日一问:讲讲 Java 虚拟机的垃圾回收
昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...
- 学习笔记【Java 虚拟机②】垃圾回收
若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 总目录 学习笔记[Java 虚拟机①]内存结构 学习笔记[Java 虚拟机②]垃圾回收 学习笔记[Java ...
- Java虚拟机之垃圾回收详解一
Java虚拟机之垃圾回收详解一 Java技术和JVM(Java虚拟机) 一.Java技术概述: Java是一门编程语言,是一种计算平台,是SUN公司于1995年首次发布.它是Java程序的技术基础,这 ...
- 浅析Java虚拟机的垃圾回收机制(GC)
目录 一.垃圾回收机制(Garbage Collection) 二.对象回收的时机 引用计数法 可达性分析算法 三.垃圾回收算法 标记-清除算法 标记-复制算法 标记-整理算法 新生代.老年代.永久代 ...
- Java虚拟机:垃圾回收机制与垃圾收集器
一.垃圾回收机制: 1.垃圾回收的过程: JVM内存区域的程序计算器,虚拟机栈.本地方法栈的生命周期是和线程同步的,随着线程的销毁而自动释放内存,所以只有堆和方法区需要GC,方法区主要是针对常量池的回 ...
- 深入理解java虚拟机之——垃圾回收(垃圾判断,垃圾收集算法,垃圾收集器)
java与C++之间有一道动态内存分配和垃圾收集的"墙",墙里面的人想出来,墙外边的人想进去,或许只有骑在墙上才能清楚的了解,墙内墙外都是牢笼. 上面一句出自<深入理解jav ...
- 深入理解Java虚拟机——JVM垃圾回收机制和垃圾收集器详解
一:概述 说起垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来.在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,顾名思义,垃圾回收就是释 ...
- java虚拟机、垃圾回收、多线程
虚拟机,我们都知道Java程序运行在虚拟机上,虚拟机又和操作系统打交道,最终通过二进制指令操纵电子电路运行.完成数据的读取,存储,运算和输出. 虚拟机在加载.class文件的时候,会在内存开辟一块区域 ...
- Java虚拟机之垃圾回收
1. 判断对象可以被回收 1.1 引用计数法 给对象添加一个引用计数器,每当用一个地方引用它时,计数器加一:当引用失效时,计数器减一,计数器为0的对象就是不可能再被使用的. 存在的弊端:循环引用,如下 ...
最新文章
- R语言PCA主成分分析(Principle Component Analysis)实战1
- Linux centos 下apache(httpd)编译安装
- Linux 内核将要支持最新龙芯 3A2000/3B2000
- 面试必问!有没有比读写锁更快的锁?
- 如何实现分类表统计数目和详情表数量同步
- 实验三 进程调度模拟程序2.0
- 【测试点分析】1060 爱丁顿数 (25分)_21行代码
- Ubuntu主题更换
- 那些年面挂的js手写题
- 爬FH... ... 爽!
- 腾讯云十亿级 Node.js 网关的架构设计与工程实践
- 比较精确的计算农历节气的java源码
- Python自动化--1.Python环境安装-linux
- Rabbit MQ的基本使用
- 计算机教师培训感悟反思,教学工作反思感悟
- (21) 出行需求预测新视角---基于图卷积神经网络GCN的出租车OD需求预测
- QQ用户这两个文件夹要定时清理
- Spring Bean作用域与生命周期
- 计算机辅助设计ca,《AutoCA计算机辅助设计》课程标准.doc
- java wgs84转西安80_如何将西安80坐标转换为国家2000(或WGS84)坐标系?
热门文章
- HDU - 6967 G I love data structure 线段树维护矩阵 + 细节
- 【SHOI2017】相逢是问候【扩展欧拉定理】【复杂度分析】【线段树】
- 欧拉函数(简单介绍+例题)
- [ZJOI2015]幻想乡 Wi-Fi 搭建计划(dp + 结论)
- 对弈(nim-k游戏博弈)
- Codeforces Round #725 (Div. 3) 题解
- nssl1217-So many prefix?【KMP】
- Graph Theory Class(Min25求1~n质数和)
- 牛客练习赛 58——树链剖分
- 从零开始用好 Maven : 从 Hello World 到日常使用