![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
hunter127
这个作者很懒,什么都没留下…
展开
-
垃圾回收三色标记算法总结
判断哪些对象需要被垃圾回收?引用计数会导致循环引用,所以一般都是可达性分析。可达性分析是从GC Root出发,进行三色标记算法。CMS就是使用标记清除算法,整个过程就是一个三色标记流程。初始标记 STW,标记GC ROOT为黑色,GC ROOT关联的为灰色并发标记 扫描整个引用链,没有子节点为黑,有子节点为灰色重标记 STW 修复变动的并发清除 开始正式清除,清除白色的三色标记的遗留问题:多标 or 漏标多标下次垃...原创 2021-09-13 10:26:54 · 140 阅读 · 0 评论 -
NIO与IO的理解
public class App { /** * io * @throws Exception */ @Test public void test_1() throws Exception{ FileInputStream is = new FileInputStream("D:/test.txt"); byte[] buffer = new byte[1024]原创 2016-08-26 11:24:44 · 300 阅读 · 0 评论 -
Java内存模型
寄存器:JVM内部虚拟寄存器,存取速度非常快,程序不可控制。l 栈:保存局部变量的值,包括:1.用来保存基本数据类型的值;2.保存类的实例,即堆区对象的引用(指针)。也可以用来保存加载方法时的帧。l 堆:用来存放动态产生的数据,比如new出来的对象。注意创建出来的对象只包含属于各自的成员变量,并不包括成员方法。因为同一个类的对象拥有各自的成员变量,存储在各自的堆中,但是他们共享该类的方法,原创 2016-09-09 23:50:04 · 165 阅读 · 0 评论 -
Java GC
1.Java内存核心分配分为栈内存与堆内存。2.Java内存的具体分配就不概括了(另外一个重要概念就是java内存模型)。下文以堆内存展开Java 垃圾回收机制。(内存分配与GC息息相关)堆内存分为:堆内存被划分为3个区域,新生区、老年区、永久区。注:永久区在java8中被移除。也就是常量池等被移动到本地内存(堆外内存)新生区又分为一个eden、两个原创 2016-09-19 23:26:59 · 183 阅读 · 0 评论