一.静态变量是否被GC回收
static string name = "张三";
GC.Collect();//此方法就是调用GC的回收方法
WeakReference wek = new WeakReference(name);//这个是弱引用类,IsAlive判断该引用对象是否存活
Console.WriteLine("静态变量是存活:" + wek.IsAlive);
输出结果为:True
二.被引用的对象是否被GC回收
List<Person> persons = new List<Person>();
for (int i = 0; i < 9000; i++ )
{
Person p = new Person();
}
//Person对象的实例被List<Person>的实例引用
GC.Collect();
WeakReference wek = new WeakReference(persons);
Console.WriteLine("被引用的变量是存活:" + wek.IsAlive);
输出结果为:True
三.没有被引用的对象是否被GC回收
Person p = new Person();//创建一个没有被引用的Person对象的实例
WeakReference wek = new WeakReference(p);
GC.Collect();
Console.WriteLine("没有被引用的变量是否存活:" +wek.IsAlive);
一.静态变量是否被GC回收
static string name = "张三";
GC.Collect();//此方法就是调用GC的回收方法
WeakReference wek = new WeakReference(name);//这个是弱引用类,IsAlive判断该引用对象是否存活
Console.WriteLine("静态变量是存活:" + wek.IsAlive);
输出结果为:True
二.被引用的对象是否被GC回收
List<Person> persons = new List<Person>();
for (int i = 0; i < 9000; i++ )
{
Person p = new Person();
}
//Person对象的实例被List<Person>的实例引用
GC.Collect();
WeakReference wek = new WeakReference(persons);
Console.WriteLine("被引用的变量是存活:" + wek.IsAlive);
输出结果为:True
三.没有被引用的对象是否被GC回收
Person p = new Person();//创建一个没有被引用的Person对象的实例
WeakReference wek = new WeakReference(p);
GC.Collect();
Console.WriteLine("没有被引用的变量是否存活:" +wek.IsAlive);
一.静态变量是否被GC回收
static string name = "张三";
GC.Collect();//此方法就是调用GC的回收方法
WeakReference wek = new WeakReference(name);//这个是弱引用类,IsAlive判断该引用对象是否存活
Console.WriteLine("静态变量是存活:" + wek.IsAlive);
输出结果为:True
二.被引用的对象是否被GC回收
List<Person> persons = new List<Person>();
for (int i = 0; i < 9000; i++ )
{
Person p = new Person();
}
//Person对象的实例被List<Person>的实例引用
GC.Collect();
WeakReference wek = new WeakReference(persons);
Console.WriteLine("被引用的变量是存活:" + wek.IsAlive);
输出结果为:True
三.没有被引用的对象是否被GC回收
Person p = new Person();//创建一个没有被引用的Person对象的实例
WeakReference wek = new WeakReference(p);
GC.Collect();
Console.WriteLine("没有被引用的变量是否存活:" +wek.IsAlive);
一.静态变量是否被GC回收
static string name = "张三";
GC.Collect();//此方法就是调用GC的回收方法
WeakReference wek = new WeakReference(name);//这个是弱引用类,IsAlive判断该引用对象是否存活
Console.WriteLine("静态变量是存活:" + wek.IsAlive);
输出结果为:True
二.被引用的对象是否被GC回收
List<Person> persons = new List<Person>();
for (int i = 0; i < 9000; i++ )
{
Person p = new Person();
}
//Person对象的实例被List<Person>的实例引用
GC.Collect();
WeakReference wek = new WeakReference(persons);
Console.WriteLine("被引用的变量是存活:" + wek.IsAlive);
输出结果为:True
三.没有被引用的对象是否被GC回收
Person p = new Person();//创建一个没有被引用的Person对象的实例
WeakReference wek = new WeakReference(p);
GC.Collect();
Console.WriteLine("没有被引用的变量是否存活:" +wek.IsAlive);
一.静态变量是否被GC回收
static string name = "张三";
GC.Collect();//此方法就是调用GC的回收方法
WeakReference wek = new WeakReference(name);//这个是弱引用类,IsAlive判断该引用对象是否存活
Console.WriteLine("静态变量是存活:" + wek.IsAlive);
输出结果为:True
二.被引用的对象是否被GC回收
List<Person> persons = new List<Person>();
for (int i = 0; i < 9000; i++ )
{
Person p = new Person();
}
//Person对象的实例被List<Person>的实例引用
GC.Collect();
WeakReference wek = new WeakReference(persons);
Console.WriteLine("被引用的变量是存活:" + wek.IsAlive);
输出结果为:True
三.没有被引用的对象是否被GC回收
Person p = new Person();//创建一个没有被引用的Person对象的实例
WeakReference wek = new WeakReference(p);
GC.Collect();
Console.WriteLine("没有被引用的变量是否存活:" +wek.IsAlive);