21、分代算法:基于生命周期的内存管理

你好,我是海纳。 上节课,我们讲过了可达性分析中基于copy的垃圾回收算法,它比较适合管理短生命周期对象。那什么算法适合管理长生命周期对象呢?它就是可达性分析的GC算法中的另一大类:Mark-Sweep算法。 为了发挥两种算法的优点,GC的开发者就基...

编程高手必学的内存知识

22、G1 GC:分区回收算法说的是什么

你好,我是海纳。 在上一节课,我们介绍了分代式垃圾回收算法。把对象分代以后,可以大大减轻垃圾回收的压力,进而就减少了停顿时长。在这种思路的启发下,人们进一步想,如果把对象分到更多的空间中,根据内存使用的情况,每一次只选择其中一部分空间进行回收不就好了...

编程高手必学的内存知识

23、Pauseless GC:挑战无暂停的垃圾回收

你好,我是海纳。 在前面的几节课程中,我们学习了 CMS 、G1 等垃圾回收算法,这两类GC算法虽然一直在想办法降低GC时延,但它们仍然存在相当可观的停顿时间。 如何进一步降低GC的停顿时间,是当前垃圾回收算法领域研究的最热点话题之一。今天我们就来学...

编程高手必学的内存知识

24、GC实例:Python和Go的内存管理机制是怎样的

你好,我是海纳。 我们前面几节课主要是以Java为例,介绍了JVM中垃圾回收算法的演进过程。实际上,除了JVM之外,用于运行JavaScript的V8虚拟机、Lua虚拟机、Python虚拟机和Go的虚拟机都采用了自动内存管理技术。这节课,我们就一起来...

编程高手必学的内存知识

结束语、自主基础软件开发的那片星辰大海

你好,我是海纳。 送君千里,终有一别,我们的专栏到这里就结束了。我希望这个专栏对你来说不是一个终点,而是让你学习基础软件的起点。 这个专栏虽然不可能让你通过短短的十五万字和一百来幅图,就搞明白操作系统、CPU和编译器的每一个细节。但我觉得它仍然可以帮...

编程高手必学的内存知识
1345