13、能用foreach遍历访问的对象的要求14、GC是什么?为什么要有GC?15、值类型和引用类型的区别?16、C#中的接口和类有什么异同?17、抽象类(abstract class)和接口(interface)有什么区别?18、是否可以继承Srtring类?19、下面程序的运行结果:static...
分类:
Web程序 时间:
2014-11-30 22:55:32
阅读次数:
285
转自:http://blog.codingnow.com/2008/06/gc.html本质上来说,引用计数策略和垃圾收集策略都属于资源的自动化管理。所谓自动化管理,就是在逻辑层不知道资源在什么时候被释放掉,而依赖底层库来维持资源的生命期。而手工管理,则是可以准确的知道资源的生命期,在准确的位置回收...
分类:
其他好文 时间:
2014-11-30 20:02:29
阅读次数:
186
GC的前世与今生虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久。早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是GC的第一次出现。Lisp的程序员认为内存管理太重要了,所以不能由程序员自己来管理。但后来的日子里Li...
使用单利从来没有如此容易和省心过,支持二段式构造,直接贴代码
#ifndef _SINGLETON_H_
#define _SINGLETON_H_
#include "simple_ptr.h"
#include
#if defined(_ENABLE_MULTITHREAD)
#include
#endif
namespace purelib {
namespace gc {
...
分类:
编程语言 时间:
2014-11-29 19:00:40
阅读次数:
184
刚入门的童鞋肯能都会有一个疑问,Java不是有虚拟机了么,内存会自动化管理,我们就不必要手动的释放资源了,反正系统会给我们完成。其实Java中没有指针的概念,但是指针的使用方式依然存在,一味的依赖系统的gc,很容易就造成了内存的浪费。Java基于垃圾回收的内存机制Java的内存管理机制会自动回收无用...
分类:
移动开发 时间:
2014-11-29 08:36:25
阅读次数:
291
当你使用UnicastRemoteObject.export(Remote)发布一个对象时会触发一次FULL GC。 你必须手动管理你发布的Remote对象,意即如果没有别的客户端访问,你发布的对象/服务会被回收,然后你会收到如下的错 “NO SUCH OBJECT IN TABLE.” 参考: p...
分类:
其他好文 时间:
2014-11-29 00:15:32
阅读次数:
243
.NET的垃圾回收机制:CLR管理内存的区域主要有三块: 一: 线程的堆栈 ,用于分配值类型实例。堆栈主要有操作系统管理,不受垃圾收集器的控制,当值类型实例所在的方法结束时,其存储单位自动释放。栈的执行效率高,但存储容量有限。 二: GC堆,用于分配小对象实例。如果引用类型对象的实例小于85...
分类:
Web程序 时间:
2014-11-28 19:51:08
阅读次数:
205
JAVA运行时各个数据区域的苞丁解牛,JAVA对象的生死判定,JVM内存的清理,JAVA对象迁徙...
分类:
其他好文 时间:
2014-11-27 00:22:15
阅读次数:
200
3、字符串1)字符串的不可变性当你给一个字符串重新赋值之后,老值并没有销毁,而是重新开辟一块空间存储新值。当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即把它销毁。2)我们可以讲字符串看作是char类型的一个只读数组ToCharArray();将字符串转换为char数组new st...
分类:
其他好文 时间:
2014-11-26 15:41:38
阅读次数:
164