windows回收站的工作原理?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows回收站的工作原理?相关的知识,希望对你有一定的参考价值。

回收站是怎么工作的?被删除的文件是仅仅被做了标记,还是被压缩之后转移到了其他地方?希望有人能详细地解释一下,谢谢。

回收站实际是系统实施特殊管理和维护的一个文件夹 ,而回收站文件夹的特殊性来源于该文件夹下面由操作系统自动建立的两个控制文件 ,对这两个特殊控制文件的结构与作用进行详细分析将揭示回收站文件夹的工作机理。本文通过分析控制文件的结构与作用 ,彻底揭开了回收站神秘的工作模型和算法。理解回收站文件夹的工作原理将十分有利于借鉴操作系统管理特殊文件夹的模式并在更高层次上发挥回收站的作用。

回收站的工作原理与控制文件结构简述回收站的主要作用是存储用户删除的文件 ,操作系统使用回收站的目的是为了防止用户因误操作删除文件而导致的损失。为了避免因误删除导致某些重要文件丢失 ,操作系统为用户提供了回收站 ,实际上就是为用户提供一种保护措施。
参考技术A 被删除的文件不是仅仅被做了标记,也不是被压缩之后转移到了其他地方,我想应该是直接将被删除的文件转移到系统所在盘(c盘)某一目录下,因为有一次,我无意中发现c盘多出了近1G的空间,后来才发现是因为我清理了回收站的原因(被删除的原文件大约也等于1G)。所以回收站的空间都被释放了。因此,我认为是直接将被删除的文件原原本本地转移到系统所在盘(c盘)某一目录下(具体我忘了,如果想知道,待我找一找^_^),而不是被压缩或标记。

另外说一下:
回收站就像一个备份站,之所以能将删除的东西复原,就是因为它将被删除的文件备份了一下。
参考技术B 文件并没有被真正删除,而是在注册表中被更改了,从原目录更改到被隐藏的?:\Recycled文件夹(?代表该文件所在的盘)。就算清空回收站,也是将文件在注册表中的信息删除,硬盘中还有此文件,只不过通过正常方式找不到,并且其磁区不受保护,可能会被其他文件占据。这就是我们存文件需要一段时间而删除文件却很快的原因。这样的优点是减少硬盘读写量从而保护硬盘,缺点是其他人可以通过硬盘数据恢复软件查找到你的文件而造成信息泄露。属于你说的被做标记。本回答被提问者采纳

Java垃圾回收机制的工作原理

技术分享

Java垃圾回收机制的工作原理

【博主】高瑞林 

【博客地址】http://www.cnblogs.com/grl214 

一.Java中引入垃圾回收机制的作用

当我们建完类之后,创建对象的同时,进行内存空间的分配,为了防止内存空间爆满,java引入了垃圾回收机制,将不再引用的对象进行回收,释放内存,循环渐进,从而防止内存空间不被爆满。

1.垃圾回收机制的工作原理

创建的对象存储在堆里面,把堆比喻为院子中的土地,把对象比喻为土地的管理者,院子比喻为java虚拟机,当创建一个对象时,java虚拟机将给对象分配土地,当对象不再使用时,JVM进行释放。

引用计数:每个对象都包含一个计数器,当对象被引用时,计数器技术+1,当不被引用时-1,即为null;垃圾回收机制对其循环,当对象为null时,进行回收释放内存,虽然开销不是很大,但是在对象的整个生命周期垃圾回收机制进行循环工作,发现为null进行收回,但是有个缺陷,当对象出现循环引用时,本该回收的对象而计数器不显示0,所以垃圾回收机制也不回进行回收。

自适应技术:

停止—复制:暂停程序的运行,循环所有的对象找到“存活的”对象,将其复制到另一个堆里面,再将没有复制的进行回收,为了不占用存,引入在同一个堆里面,将没有占用的内存堆用来存放复制的“存活对象”,重新进行整理分配空间。为了防止出现没被引用的对象少,而花费开销复制了很多“存活对象”引入标记清扫,对对象进行循环标记引用的对象,复制到另一片堆里面,而不被引用的进行释放空间。最后JVM提供了自动检测监视,如果对象都很稳定,垃圾回收器效率低则使用“标记—清扫”,否则使用“停止—复制”,进行回收。

 

以上是关于windows回收站的工作原理?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA垃圾回收的工作原理是啥?

深入探索Java工作原理:JVM,内存回收及其他

JAVA垃圾回收机制的工作原理?

JVM精彩问答- CMS垃圾回收器 | WeakHashMap工作原理 | Java语法糖

JVM垃圾回收器工作原理及使用实例介绍

JVM 垃圾回收器工作原理及使用实例介绍(原文已发表于IBM开发者论坛)