qqwx

导航

04 2017 档案

垃圾回收算法(6)三色标记
摘要:GC目前的问题是,会暂停、阻碍代码的运行,即stop the world。增量式GC处理的就是这个问题。将GC变得可一阶段一阶段进行。 分阶段运行的思路并不难,但具体要解决的问题其实是分阶段GC后,如何保证下次继续时,中断过程中引用关系的变化不会对GC造成影响。 三色标记法是一个逻辑上的抽象,将对象 阅读全文

posted @ 2017-04-03 11:48 qqwx 阅读(8656) 评论(0) 推荐(2)

垃圾回收算法(5)分代回收
摘要:分代垃圾回收,基于的是“大部分的对象,在生成后马上就会变成垃圾”这一经验上的事实为设计出发点。此前讨论过基于引事实的另一个垃圾回收算法,引用计数出的一些优化思路。 分代的关键是: 分代垃圾回收的典型是Ungar的分代垃圾回收。 它将堆分成如下形式: 如上,分成新生代与老年代。 在新生代内,又分成了生 阅读全文

posted @ 2017-04-02 21:10 qqwx 阅读(2188) 评论(0) 推荐(3)

golang的http分析
摘要:首先,要认识一个贯穿始终的接口http.Handler type Handler interface { ServeHTTP(ResponseWriter, *Request) } 其中,两个参数,一个是表示响应的接口,另一个表示请求。具体方法先忽略: type ResponseWriter int 阅读全文

posted @ 2017-04-02 00:02 qqwx 阅读(2554) 评论(0) 推荐(0)

垃圾回收算法(4)标记整理
摘要:标记-压缩(整理)算法 鉴于复制算法中,没有内存碎片的方式能大大提高分配效率,因此,在mark_sweep的基础上,也可以改良出mark_compact算法,使得空闲空间连续。同时又没有复制算法的无帮吃一半堆的问题。 首先是最简单的算法,叫Lisp2算法。 在标记阶段,不变,仍然是对每个活动对象打上 阅读全文

posted @ 2017-04-01 00:41 qqwx 阅读(1480) 评论(0) 推荐(1)