文档章节

垃圾收集算法

datadev_sh
 datadev_sh
发布于 2018/01/06 20:25
字数 524
阅读 18
收藏 1

参考:《深入理解Java虚拟机》第3章(《网页版图书》)、《Java虚拟机规范(JavaSE7)》

可达性分析算法

垃圾收集前,通过可达性分析算法判断对象是否可用。

通过一些对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称作引用链,当一个对象到起始点没有任何引用链时,则证明此对象不可用。起始点称作“GC Roots”。(可以做为GC Roots的对象,可参考博客《GC Roots》

垃圾收集算法

标记-清除算法

首先标记处所有需要回收的对象,然后统一回收。

两点不足:

1、效率问题,标记和清除效率都不高。

2、空间问题,清除之后会产生大量不连续的内存碎片,若分配大对象时,无法找到足够的连续空间,会提前触发又一次GC。

复制算法

将内存分为两块,每次只使用其中一块,当这块用完了,就将还存活着的对象复制到另一块上面,然后把已使用过的清理掉。

不足:对象存活量较高时,需要较多的复制操作,效率低。

标记-整理算法

先标记,然后将存活的对象向一边移动,然后清除边界外的。

分代收集算法

当前商业虚拟机都采用“分代收集”算法。根据对象存活周期的不同将内存划分为几块。一般把堆内存分为新生代和老年代。每次GC时,新生代只有少量存活,那就采用复制算法。而老年代存活率高,那就采用标记-清理/整理算法。

© 著作权归作者所有

datadev_sh
粉丝 1
博文 18
码字总数 10554
作品 0
静安
程序员
私信 提问
JVM:这是一份全面 & 详细的 (GC)垃圾收集器讲解指南

前言 垃圾收集器 是 垃圾收集算法 的具体实现 本文将对市面上常见的垃圾收集器类型进行讲解,希望你们会喜欢 在接下来的日子,我会推出一系列讲解的文章,具体如下;感兴趣可持续关注Carson_...

Carson_Ho
2018/10/23
0
0
《深入理解Java虚拟机》学习小记一之自动内存管理机制(二)

1.概要 在《深入理解Java虚拟机》学习小记一之自动内存管理机制(一)中,我们罗列了以下几个问题: 什么操作可能导致内存溢出? 有哪些种类的内存溢出? 都是在内存的哪些区域溢出? 垃圾收集...

felixlv
2013/05/12
540
1
Java的垃圾回收之算法

引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等...

青夜之衫
2017/12/05
0
0
Java的垃圾回收之算法

引言   Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewar...

唐玄奘
2017/12/04
0
0
二:JVM学习-垃圾收集算法以及常用的垃圾收集器

垃圾收集器与内存分配策略简介: 一:垃圾收集算法 1.1:简介 说起垃圾收集,大部分人都把这项技术当做java语言的伴生物,其实,GC的历史比java久远,1960年诞生于MIT的Lisp是第一门真正使用...

四月李
2016/02/20
285
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
6
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
10
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
8
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
今天
8
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
今天
11
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部