25、深入理解计算机系统笔记,虚拟存储器,垃圾回收

简介: 1、垃圾收集器将存储器视为一张有向可达图(reachability graph)。 2、Mark%Sweep垃圾收集器由标记(mark)阶段和清除(sweep)阶段组成。标记阶段标记出根节点的所有可达的和已分配的后继,而后面的清除阶段释放每个被标记的已分配块。

1、垃圾收集器将存储器视为一张有向可达图(reachability graph)。

wps_clip_image-11717

2、Mark%Sweep垃圾收集器由标记(mark)阶段和清除(sweep)阶段组成。标记阶段标记出根节点的所有可达的和已分配的后继,而后面的清除阶段释放每个被标记的已分配块。典型地,块头部中空闲的低位中的一位来表示这个块是否被标记了。

wps_clip_image-1930

    Note that the arrows in this example denote memory references, and not free list pointers.

3、在10.11中,讲述了与存储器相关的错误,值得一读。

如:指针的算术运算是以它们指向的对象的大小为单位来进行的。

目录
相关文章
|
JavaScript Java
js基础笔记学习207垃圾回收1
js基础笔记学习207垃圾回收1
45 0
js基础笔记学习207垃圾回收1
|
算法 Java Linux
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【下部】
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【下部】
164 0
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【下部】
|
算法 Java 编译器
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】
145 0
「月光宝盒」JVM研究系列「技术总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】
|
算法 Java
JVM笔记 | Java垃圾回收(GC)
概述 在JVM的运行时数据区中,程序计数器、JVM栈和本地方法栈随线程而生,随线程而灭,内存分配和回收具备确定性,因此这几个区域不需要过多考虑内存回收问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。
1113 0
|
算法 Java
JVM笔记6-垃圾回收器
JVM进行垃圾回收时要考虑哪的问题如下: 1.如何判定对象为垃圾对象?   1.引用计数法:在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就+1,引用失效的时候,计数器的值就-1,   直到计数器的值为0时,就被垃圾回收器回收。
2268 0
|
1月前
|
Java 程序员
探讨JVM垃圾回收机制与内存泄漏
探讨JVM垃圾回收机制与内存泄漏
|
3月前
|
Web App开发 存储 JavaScript
【JavaScript】垃圾回收与内存泄漏
JavaScript的*垃圾回收机制*是一种自动化的内存管理机制,用于检测和回收不再使用的内存资源,以便重新分配给其他需要的部分。JavaScript中的垃圾回收器负责跟踪和管理内存的分配和释放,使开发人员无需手动管理内存。 *内存泄漏*指的是程序中分配的内存空间无法被释放和回收,并且随着时间推移导致可用内存逐渐减少。
52 0
|
4天前
|
存储 缓存 监控
Java内存管理:垃圾回收与内存泄漏
【4月更文挑战第16天】本文探讨了Java的内存管理机制,重点在于垃圾回收和内存泄漏。垃圾回收通过标记-清除过程回收无用对象,Java提供了多种GC类型,如Serial、Parallel、CMS和G1。内存泄漏导致内存无法释放,常见原因包括静态集合、监听器、内部类、未关闭资源和缓存。内存泄漏影响性能,可能导致应用崩溃。避免内存泄漏的策略包括代码审查、使用分析工具、合理设计和及时释放资源。理解这些原理对开发高性能Java应用至关重要。
|
7天前
|
存储 前端开发 安全
JVM内部世界(内存划分,类加载,垃圾回收)(上)
JVM内部世界(内存划分,类加载,垃圾回收)
40 0
|
1月前
|
Java 程序员 Python