自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 Java GC 内存回收机制详解(三)内存回收算法

五. 没有包治百病的通用内存回收算法现代面向对象编程的方式,向程序员屏蔽了背后内存分配和回收的细节。程序员一半不会考虑内存效率问题,而把中心放在业务逻辑上。这种方式,决定了程序员的使用内存的习惯:用的时候分配,不用的时候赋Null值。所以很多对象,尤其是临时对象,寿命都很短,在使用完成后,就可以被回收了。不过,也有很多对象,生命周期较长。上文中提到,GC的回收算法,是和当前对象的数目成线性关系,对...

2018-03-06 15:41:29 640

原创 Java GC 内存回收机制详解(二)GC Roots 和 可达链

三. 什么是GC Roots?在Java语言中,可作为GC Roots的对象包括下面几种:虚拟机栈(栈帧中的本地变量表)中引用的对象。方法区中类静态属性引用的对象。方法区中常量引用的对象。本地方法栈中JNI(即一般说的Native方法)引用的对象。 凡事被常量、静态变量、全局变量、运行时方法中的变量直接引用的对象,原则上不能被GC释放。参见下图:我们常说的垃圾回收,就是回收图中红色圈圈住的堆的部分...

2018-03-06 15:34:53 6273 9

原创 Java GC 内存回收机制详解(一) 引子

提纲:一. 什么对象不能释放?二. 这些对象存储在哪里?三. 什么是GC Roots?四. 什么是可达链?五. 没有包治百病的通用内存回收算法六. 引入次代概念七 . 内存回收算法八. 附录1. Minor / Major GC触发的时机2. 根治循环引用3. 理解引用(句柄 和 指针)注解:* 本文旨在用最简单的描述,阐明Java内存回收机制的原理;* 为了简化,不涉及:JIT、NIO、Nati...

2018-03-06 15:29:01 571

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除