自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IO多路复用小故事

背景故事小王住在某城市, 生活并长大. 最近, 小城引进了一个企业, 邮局. 这个邮局可了不得, 只要你花上几角钱, 就可以将一封信送到千里之外的朋友手中. 小王也趁机体验了一把, 得劲.这天, 小王躺在床上想, 既然这个邮局这么好, 咱何不从中分一杯羹呢? 但是现在人家邮局基本都可以说是垄断了, 咱这刚刚起步又能如何呢? 哎, 有了, 既然他把信都收集起来, 那总归是要送出去的吧, 我就把送...

2020-04-25 02:33:19 196

原创 不知道写的是啥

刚才起夜, 被黑暗的环境吓到了. 当时有一种四面八方无数双眼睛在看着你, 又好像有什么会突然出现, 然后我赶紧打开灯, 这种感觉立刻烟消云散了, 好像根本没有来过一样.很显然, 消除这种恐惧感的, 是光. 有没有光对我来说有什么区别呢? 视觉, 有光后, 能够看到周围的环境, 又因为我们坚信自己的双眼, 坚信眼见为实, 所以能够将恐惧压下去. 而没有光, 看不到又有什么关系? 我想, 那是源自对...

2020-04-19 15:24:08 110

原创 GC算法-增量式垃圾回收

概述增量式垃圾回收也并不是一个新的回收算法, 而是结合之前算法的一种新的思路.之前说的各种垃圾回收, 都需要暂停程序, 执行GC, 这就导致在GC执行期间, 程序得不到执行. 因此出现了增量式垃圾回收, 它并不会等GC执行完, 才将控制权交回程序, 而是一步一步执行, 跑一点, 再跑一点, 逐步完成垃圾回收, 在程序运行中穿插进行. 极大地降低了GC的最大暂停时间.实现增量式垃圾回收只是...

2020-04-12 15:04:13 360 1

原创 GC算法-分代垃圾回收

概述分代垃圾回收并不是一个新的算法, 而是将之前的回收算法结合利用, 分场景使用.简单来说, 分代垃圾回收的思路, 就是给每个对象都非配一个年龄, 年龄越大的, 获得越久, 被回收的概率就越小. 经验表明, 大部分对象在生成后马上就Ian成了垃圾.也就是说, 年轻人要多运动, 没事的时候多看看, 长回收. 老年人好静, 一般不去惊扰他老人家.分代垃圾回收就是利用这个现象, 将堆分为了新生...

2020-04-11 15:46:44 144

原创 GC算法-标记压缩算法

概述还记得标记清除和复制算法的问题么? 堆使用效率低和碎片化问题. 那么有没有能够里哟功能整个堆, 有没有内存碎片化问题的算法呢? 这就是标记压缩算法了.简单来说, 标记压缩算法就是将堆中的所有活动对象整体向左移, 将对象间的空隙消除.在GC执行前的内存:GC执行后的内存:恩, 就是这么个意思.实现如何实现上面的操作呢? 首先, 要将所有活动对象标记出来....

2020-04-06 16:13:38 247

原创 GC算法-复制算法

概述复制算法就是将内存空间二等分, 每次只使用其中一块. 当执行GC时, 讲A部分的所有活动对象集体移到B中, 就可以讲A全部释放.画个图就是:​ 在执行GC前, 内存长这样:​ 当执行GC后, 内存就变成这样了:还记得标记清除算法的问题是什么吗? 内存碎片化严重. 现在好了, 碎片化问题解决了, 每次GC执行后, 内存空间都是连续的啦.实现想一想GC执行的步骤是什么? 很简单啊...

2020-04-06 14:46:09 337

原创 GC算法-引用计数法

GC算法-引用计数法概述引用计数法又是什么鬼呢? 顾名思义, 对对象的引用进行计数. 通过记录每个对象被引用的次数, 来确定这个对象是否可以被回收.实现首先, 对对象的引用数量进行管理, 什么时候会更新呢?创建对象: 新建一个对象(对这个新的对象引用数量+1)更新指针: 将一个指向A对象的指针重新指向B对象(将A对象引用数量-1, B对象引用数量+1)这次就不上代码了, 简单介绍...

2020-04-05 18:37:17 593

原创 GC算法-标记清除算法

概述标记清除算法, 描述起来很简单, 从名字上就能看出, 分为两个阶段:标记阶段: 遍历所有对象, 将活动对象都打上标记清除阶段: 遍历堆, 将没有标记的对象释放掉.介绍完毕, 本文结束. 开玩笑, 确实看上去很简单啦. 那就具体思考一下实现吧.实现介绍写的很清楚了, 实现也是两个阶段呗, 先打tag, 后清除.标记寻找所有的活动对象, 要从一个起点开始, 根集合(包括栈、常量...

2020-04-04 15:48:34 290

空空如也

空空如也

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

TA关注的人

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