标签:垃圾回收 head 溢出 应用程序 指正 接口 因此 优先 16进制
内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Window 虚拟存储器s中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内存里储存的文件释放到原来的安装目录里了。
引用计数算法(无法回收循环引用的对象)
标记清除算法
在java新生代串行垃圾回收器中,使用了复制算法的思想,新生代分为eden,from,to三个部分。from,to空间成为survivor空间,用于存放未被回收的对象。
其中:新生代指得是存放年轻对象的空间。
老年代指的是存放垃圾回收存活的对象。
在新生代中的垃圾回收中,eden区存活的对象会放在to中,正在使用from中的年轻对象也会被复制到to中,此时eden区与from区可以直接清空。
用于老年代中的垃圾回收:
在标记清除算法中做了优化:从根节点开始,对所有可达对象做了标记。然后将所有的可达对象都压缩到内存的另一边,之后清理边界外的所有空间。
强引用所指的对象在任何时候都不会被GC回收。
GC未必会回收软引用的对象吗,但是当内存资源紧张时,软引用的对象会被回收。
在GC中还要发现弱引用就会被回收。
一个虚引用随时随地都会被回收。
新生代与老年代GC的区别:
新生代GC比较频繁,但是持续的时间较短。
老年代GC发生次数少,但是持续的时间比较长。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 20篇 | 400小时 | |
第一周 | 100/100 | 1/1 | 5/5 | |
第二周 | 100/200 | 2/3 | 5/10 | |
第三周 | 100/300 | 2/5 | 5/15 | |
第四周 | 100/400 | 1/6 | 5/20 | |
第六周 | 100/500 | 1/7 | 5/25 | |
第七周 | 100/600 | 1/8 | 5/30 | |
第八周 | 800/1400 | 3/11 | 10/40 | |
第九周 | 1000/2400 | 3/14 | 15/55 | |
第十一周 | 300/2700 | 2/16 | 20/75 |
2017-2018-1 20155313 《信息安全系统设计基础》第十一周学习总结
标签:垃圾回收 head 溢出 应用程序 指正 接口 因此 优先 16进制
原文地址:http://www.cnblogs.com/bonsai/p/7955660.html