最近阅读了《垃圾回收算法手册》这本经典的书籍,借此机会打算写几篇内存管理算法方面的文章,也算是自己的总结吧。 ... ...
分类:
编程语言 时间:
2016-10-24 23:45:50
阅读次数:
205
在说垃圾回收算法之前,先谈谈JVM怎样确定哪些对象是“垃圾”。 1.引用计数器算法: 引用计数器算法是给每个对象设置一个计数器,当有地方引用这个对象的时候,计数器+1,当引用失效的时候,计数器-1,当计数器为0的时候,JVM就认为对象不再被使用,是“垃圾”了。 引用计数器实现简单,效率高;但是不能解 ...
分类:
编程语言 时间:
2016-10-17 20:55:18
阅读次数:
181
一:垃圾回收机制的原因 java中,当没有对象引用指向原先分配给某个对象的内存时候,该内存就成为了垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除 ...
分类:
编程语言 时间:
2016-10-09 14:19:31
阅读次数:
188
标记-清除算法: 这是最基础的,就是之前所讲的两次标记,首先标记出所有 需要回收的对象,然后进行统一清除, 这有两缺点:一是效率低,标记和清除(开启低优先级进行回收)都是低效率的。第二是空间问题,标记清除会产生大量的内存碎片。 复制算法: 可以将内存分为大小相等的两块,每次只使用一块,当一快内存使用 ...
分类:
编程语言 时间:
2016-09-26 21:41:51
阅读次数:
156
今天地铁上看到一篇不错的将内存泄漏简单检查的文章,觉得还不错哟,内存泄漏确实是每个程序员头疼的事情,这里就多研究一下咯^^一. 常见的垃圾回收算法参看文章
引用计数法
引用计数法基本上最简单的...
分类:
移动开发 时间:
2016-09-13 19:23:49
阅读次数:
216
1.JVM调优总结(1):一些概念:http://www.importnew.com/18694.html 2.JVM调优总结(2):基本垃圾回收算法:http://www.importnew.com/18740.html 3.JVM调优总结(3):垃圾回收面临的问题:http://www.impo ...
分类:
编程语言 时间:
2016-08-29 19:20:49
阅读次数:
209
JVM结构、内存分配、垃圾回收算法、垃圾收集器。下面我们一一来看。 一、JVM结构 根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示: 从左图可知,JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示 ...
分类:
其他好文 时间:
2016-08-23 16:31:52
阅读次数:
269
Java虚拟机的内存区域中,程序计数器、虚拟机栈和本地方法栈三个区域是线程私有的,随线程生而生,随线程灭而灭;栈中的栈帧随着方法的进入和退出而进行入栈和出栈操作,每个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这三个区域的内存分配和回收都具有确定性。垃圾回收重点关注的是堆和方法区部分的 ...
分类:
编程语言 时间:
2016-08-14 07:37:24
阅读次数:
202
链接:blog.jobbole.com/77280/ github.com/kenfox/gc-viz 大部分开发者都认为自动垃圾回收器是理所当然的。实际上,这只是语言运行时提供的一项实用功能,旨在简化我们的开发工作。 但是如果尝试着了解垃圾回收器的内部原理,你会发现很难弄明白。除非熟悉它的工作流程 ...
分类:
编程语言 时间:
2016-08-08 00:42:08
阅读次数:
171