
计算机基础
comprel
这个作者很懒,什么都没留下…
展开
-
go mod使用及goland配置
一.依赖包管理python有pip方便第三方包管理,java拥有maven管理。go在旧版本中可以使用go get 命令获取第三方包, 但是偶尔第三方也存在依赖,这样包管理不是很方便在go 1.12版本后,增加了go mod 来进行依赖包管理, 方便了许多,因此建议使用1.12以上版本(可自行到官网下载)查看版本> go versiongo version go1.13.9 windows/amd64>go modGo mod provides access to opera原创 2020-09-21 22:32:02 · 8859 阅读 · 1 评论 -
GC垃圾回收介绍
GC 让无法利用的内存实现自动再利用,内存资源回收, 就是平常所说的"垃圾回收"GC 相当于虚拟内存。一般的虚拟内存技术是在较小的物理内存的基础上,利用辅助存储创造一片看上去很大的“虚拟”地址空间。也就是说,GC 是扩大内存空间的技术,称其为空间性虚拟存储。这样一来,GC 就成了永久提供一次性存储空间的时间轴方向的时间性虚拟存储GC 把程序不用的内存空间视为垃圾,因此GC主要完成两件事情:...原创 2019-06-29 23:28:04 · 600 阅读 · 0 评论 -
垃圾回收--标记清除算法
标记-清除算法第一个GC算法标记清除算法有两个阶段: 标记阶段和清除阶段 。标记是将活动对象做标志, 也就是识别非活动对象。清除就是非活动对象回收的过程标记时候,会去标志所有的对象,因此,耗时与对象的总数是成正比的因为会遍历所有对象,一般会用到两种搜索算法:深度优先搜索广度优先搜索深度优先比广度优先搜索更能压低内存使用量, 二是可以将有关系的对象,放入到邻近的位置上标记:...原创 2019-06-29 23:31:23 · 531 阅读 · 0 评论 -
垃圾回收-- 引用计数法
引用计数法引用计数法,最重要的就是计数器,记录有多少引用该对象引用计数法与mutator 的执行密切相关,在mutator 的处理过程中通过增减计数器的值来进行内存管理, 在分配和更新对象时会发生计数的变化更新操作过程:对指针ptr 新引用的对象(obj)的计数器进行增量操作对指针ptr 之前引用的对象(*ptr)的计数器进行减量操作update_ptr(ptr, obj){ ...原创 2019-06-29 23:35:11 · 1855 阅读 · 0 评论 -
垃圾回收 -- 复制算法
GC 复制算法GC 复制算法是利用From 空间进行分配的。当From 空间被完全占满时,GC 会将活动对象全部复制到To 空间。当复制完成后,该算法会把From 空间和To 空间互换,GC 也就结束了。From 空间和To 空间大小必须一致。这是为了保证能把From 空间中的所有活动对象都收纳到To 空间里copying(){ $free = $to_start for(r : $...原创 2019-06-30 15:30:22 · 896 阅读 · 0 评论 -
垃圾回收 -- 标记压缩算法
标记- 压缩算法分为标记阶段和压缩阶段压缩阶段通过数次搜索堆来重新装填活动对象, 压缩阶段并不会改变对象的排列顺序,只是缩小了它们之间的空隙,把它们聚集到了堆的一端需要扫描三次扫描整个堆, 设定forwarding 指针, 即是记录活动对象信息 事先将各对象的指针全部更新到预计要移动到的地址更新指针 重写所有活动对象的指针移动对象 将活动对象移动到forwarding 指针的引...原创 2019-06-30 15:31:50 · 697 阅读 · 0 评论