去微软面试,其中的一道题目

appleseeker 2005-06-24 08:29:50
上星期五去微软面试开发人员的职位,考官的一道题目让我郁闷了.在这里求教高手:
题目为:详细说明垃圾回收机制的原理
...全文
862 44 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
qinjs 2005-07-04
  • 打赏
  • 举报
回复
mark
luyesql 2005-07-04
  • 打赏
  • 举报
回复
up
jmac 2005-07-04
  • 打赏
  • 举报
回复
gz
sarcophile 2005-07-04
  • 打赏
  • 举报
回复
首先我认为考官要你说的是原理,楼上好几位说的是策略。原理应该是说它本质是一个受跟踪监视的指针,每次分配、移动内存都受到记录,加上引用计数,就可以实现对没有引用的部分回收。
偶认为这才是考官们想听到的

其次大家不要从应用程序设计角度去考虑,去微软,多半要从操作系统/编译方面考虑

不知楼主以为然否?
winsex 2005-06-29
  • 打赏
  • 举报
回复
垃圾回收是使计算机能检测何时不再能够访问某个对象的一种机制。它将自动释放由该对象使用的内存。
silverseven7 2005-06-29
  • 打赏
  • 举报
回复
哦,这样啊,真好听微软的朋友说过。垃圾回收机制的原理是这样的。垃圾回收器总体是分三个区块的,第一块是小于4K的回收区;第二块是4K~8K的回收区;第三块是8K以上的回收区;当清理时小文件往4K的回收区放要清理的资源(4K~8K的放入第二块,8K以上的放入第三块),当小于4K的区域满了时,进行压缩,然后继续放要清理的资源。当实在放不下时把清理资源压缩,放入4K~8K的第二块回收区。4K~8K的都压缩满了时,放入8K以上的第三块回收区。当第三块都压缩不了时,释放第一块存储区(小于4K的)继续回收资源,当再无法压缩时,而第二块也无法压缩时,再压缩放入第二块存储区。当4K~8K的第二块存储区满了时释放第二块存储区。第三块(4K~8K同理)这样4K~8K的使用效率是最高的,能提升整体的性能。
不知说的对不对,好长时间的事了,还请给位朋友指正。
哦,这样啊,真好听微软的朋友说过。垃圾回收机制的原理是这样的。垃圾回收器总体是分三个区块的,第一块是小于4K的回收区;第二块是4K~8K的回收区;第三块是8K以上的回收区;当清理时小文件往4K的回收区放要清理的资源(4K~8K的放入第二块,8K以上的放入第三块),当小于4K的区域满了时,进行压缩,然后继续放要清理的资源。当实在放不下时把清理资源压缩,放入4K~8K的第二块回收区。4K~8K的都压缩满了时,放入8K以上的第三块回收区。当第三块都压缩不了时,释放第一块存储区(小于4K的)继续回收资源,当再无法压缩时,而第二块也无法压缩时,再压缩放入第二块存储区。当4K~8K的第二块存储区满了时释放第二块存储区。第三块(4K~8K同理)这样4K~8K的使用效率是最高的,能提升整体的性能。
不知说的对不对,好长时间的事了,还请给位朋友指正。
哦,这样啊,真好听微软的朋友说过。垃圾回收机制的原理是这样的。垃圾回收器总体是分三个区块的,第一块是小于4K的回收区;第二块是4K~8K的回收区;第三块是8K以上的回收区;当清理时小文件往4K的回收区放要清理的资源(4K~8K的放入第二块,8K以上的放入第三块),当小于4K的区域满了时,进行压缩,然后继续放要清理的资源。当实在放不下时把清理资源压缩,放入4K~8K的第二块回收区。4K~8K的都压缩满了时,放入8K以上的第三块回收区。当第三块都压缩不了时,释放第一块存储区(小于4K的)继续回收资源,当再无法压缩时,而第二块也无法压缩时,再压缩放入第二块存储区。当4K~8K的第二块存储区满了时释放第二块存储区。第三块(4K~8K同理)这样4K~8K的使用效率是最高的,能提升整体的性能。
不知说的对不对,好长时间的事了,还请给位朋友指正。
哦,这样啊,真好听微软的朋友说过。垃圾回收机制的原理是这样的。垃圾回收器总体是分三个区块的,第一块是小于4K的回收区;第二块是4K~8K的回收区;第三块是8K以上的回收区;当清理时小文件往4K的回收区放要清理的资源(4K~8K的放入第二块,8K以上的放入第三块),当小于4K的区域满了时,进行压缩,然后继续放要清理的资源。当实在放不下时把清理资源压缩,放入4K~8K的第二块回收区。4K~8K的都压缩满了时,放入8K以上的第三块回收区。当第三块都压缩不了时,释放第一块存储区(小于4K的)继续回收资源,当再无法压缩时,而第二块也无法压缩时,再压缩放入第二块存储区。当4K~8K的第二块存储区满了时释放第二块存储区。第三块(4K~8K同理)这样4K~8K的使用效率是最高的,能提升整体的性能。
不知说的对不对,好长时间的事了,还请给位朋友指正。
哦,这样啊,真好听微软的朋友说过。垃圾回收机制的原理是这样的。垃圾回收器总体是分三个区块的,第一块是小于4K的回收区;第二块是4K~8K的回收区;第三块是8K以上的回收区;当清理时小文件往4K的回收区放要清理的资源(4K~8K的放入第二块,8K以上的放入第三块),当小于4K的区域满了时,进行压缩,然后继续放要清理的资源。当实在放不下时把清理资源压缩,放入4K~8K的第二块回收区。4K~8K的都压缩满了时,放入8K以上的第三块回收区。当第三块都压缩不了时,释放第一块存储区(小于4K的)继续回收资源,当再无法压缩时,而第二块也无法压缩时,再压缩放入第二块存储区。当4K~8K的第二块存储区满了时释放第二块存储区。第三块(4K~8K同理)这样4K~8K的使用效率是最高的,能提升整体的性能。
不知说的对不对,好长时间的事了,还请给位朋友指正。
xjp0000 2005-06-28
  • 打赏
  • 举报
回复
就是把垃圾回收起来呀 哈哈
hamadou 2005-06-28
  • 打赏
  • 举报
回复
关注!
zhgroup 2005-06-28
  • 打赏
  • 举报
回复
<<.Net框架修订版>>中对这个有很详细的描述
zhiang75 2005-06-28
  • 打赏
  • 举报
回复
to: appleseeker(appleseeker)
哈哈
压缩非Zip压缩之类的压缩了...类似于磁盘碎片整理.
whfly17 2005-06-28
  • 打赏
  • 举报
回复
mark
prince_y 2005-06-28
  • 打赏
  • 举报
回复
mark
szj820 2005-06-28
  • 打赏
  • 举报
回复
弓虽,这种问题,我只有看和学习的份,没实力发言

关注中...
conan1211 2005-06-28
  • 打赏
  • 举报
回复
学习
hm8030 2005-06-28
  • 打赏
  • 举报
回复
mark
SqlDataAdapter 2005-06-28
  • 打赏
  • 举报
回复
mark!
yitiaoming2003 2005-06-27
  • 打赏
  • 举报
回复
To: appleseeker(appleseeker) 因为它有个使用效率的问题。压缩远远比直接释放省时间。而且大多数都属于小于4K的垃圾。所以压缩会很快(你感觉不到再压缩)
appleseeker 2005-06-27
  • 打赏
  • 举报
回复
yitiaoming2003(小钱) 你说的当某个区内满了时为什么要压缩.直接释放不就可以了.压缩不是很浪费系统时间和资源吗?
appleseeker 2005-06-27
  • 打赏
  • 举报
回复
哎..还有一题是WebService原理,最后问了EJB OBJECT和JAVA OBJECT的区别以及EJB原理
其他还有很多要手写代码,基本上手写代码肯定对的.就是这些原理.我无从回答.当场胸闷了
yitiaoming2003 2005-06-26
  • 打赏
  • 举报
回复
哦,这样啊,真好听微软的朋友说过。垃圾回收机制的原理是这样的。垃圾回收器总体是分三个区块的,第一块是小于4K的回收区;第二块是4K~8K的回收区;第三块是8K以上的回收区;当清理时小文件往4K的回收区放要清理的资源(4K~8K的放入第二块,8K以上的放入第三块),当小于4K的区域满了时,进行压缩,然后继续放要清理的资源。当实在放不下时把清理资源压缩,放入4K~8K的第二块回收区。4K~8K的都压缩满了时,放入8K以上的第三块回收区。当第三块都压缩不了时,释放第一块存储区(小于4K的)继续回收资源,当再无法压缩时,而第二块也无法压缩时,再压缩放入第二块存储区。当4K~8K的第二块存储区满了时释放第二块存储区。第三块(4K~8K同理)这样4K~8K的使用效率是最高的,能提升整体的性能。
不知说的对不对,好长时间的事了,还请给位朋友指正。
加载更多回复(24)
此为我个人搜集整理的, 精选微软等公司数据结构和算法的面试100题[前41-60题], 此绝对值得你下载收藏。 ----------------------------- 网友yui评论,真是够多的了,从此,不用再看其它面试题.... 一句话,请享用。 July、2010/11.05. ----------------------------------------------- 其它资源,下载地址: [最新整理公布][汇总II]微软等数据结构+算法面试100题[第1-80题] http://download.csdn.net/source/2846055 1.[最新答案V0.3版]微软等数据结构+算法面试100题[第21-40题答案] http://download.csdn.net/source/2832862 2.[第1题-60题汇总]微软等数据结构+算法面试100题 http://download.csdn.net/source/2826690 3.[答案V0.2版]精选微软数据结构+算法面试100题[前20题]--修正 http://download.csdn.net/source/2813890 //此份答案是针对最初的V0.1版本,进行的校正与修正。 4.[答案V0.1版]精选微软数据结构+算法面试100题[前25题] http://download.csdn.net/source/2796735 5.[第二部分]精选微软等公司结构+算法面试100题[前41-60题]: http://download.csdn.net/source/2811703 6.[第一部分]精选微软等公司数据结构+算法经典面试100题[1-40题] http://download.csdn.net/source/2778852 更多资源,下载地址: http://v_july_v.download.csdn.net/ ------------------------------------------------------ 各位,若对以上100题任何一道,或对已上传的任何一题的答案, 有任何问题,请把你的思路、想法,回复到此帖子上, 微软等100题系列,永久维护地址(2010年11.26日): http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧