弱引用(方案).txt

来自「C# 是创新性的新式编程语言」· 文本 代码 · 共 51 行

TXT
51
字号
弱引用:

解决(容易创建但却需要大量的内存的数据结构)的问题
如:硬盘所有目录和文件树

1.第一次创建这个树。

2.当用户程序离开这个树时,将树变了弱引用。

3.当内存宽裕时,这个树所占的内存不会被回收.

4.当内存紧张时,这个树所占的内存被回收.

5.再次返回时,尝试得到强引用。

5.由于用户计算内存的容量,可能速度快(得到了),可能速度慢(没得到,重新构造)。

对象复苏(resurrection):死而复生。尽可能不要使用这项技术。但对象复苏为实现对象池提供了生种简单有效方式。


using System;
using System.IO;
namespace TestDisp
{
	
	class Class1
	{
		[STAThread]
		static void Main(string[] args)
		{

			Object o=new Object();

			WeakReference wr=new WeakReference(o);//弱引用

			o=null;//移除强引用

			//其它操作
			o=wr.Target;//尝试获得强引用
			if(o==null)
			{
				//没有成功,出现了垃圾回收,重新建立o
			}
			else
			{
				//成功,继续使用o
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?