学习java中,请教为什么是这样的结果呢?
class VeryBig {
private static final int SZ = 10000;
private double[] d = new double[SZ];
private String ident;
public VeryBig(String id) {
ident = id;
}
public String toString() {
return ident;
}
public void finalize() {
System.out.println("Finalizing " + ident);
}
}
public class References {
private static ReferenceQueue rq = new ReferenceQueue();
public static void checkQueue(String ss) {
Object inq = rq.poll();
if (inq != null)
System.out.println("In " + ss + " queue: " + (VeryBig) ((Reference) inq).get());
}
public static void main(String[] args) {
int size = 10;
if (args.length > 0) {
size = Integer.parseInt(args[0]);
}
System.out.println("Soft-------");
SoftReference[] sa = new SoftReference[size];
for (int i = 0; i < sa.length; i++) {
sa[i] = new SoftReference(new VeryBig("Soft" + i), rq);
System.out.println("Just Soft Createed: " + (VeryBig) sa[i].get());
checkQueue("Soft");
}
System.out.println("Weak-------");
WeakReference[] wa = new WeakReference[size];
for (int i = 0; i < wa.length; i++) {
wa[i] = new WeakReference(new VeryBig("Weak" + i), rq);
System.out.println("Just Weak Createed: " + (VeryBig) wa[i].get());
checkQueue("Weak");
}
System.out.println("Phantom-------");
PhantomReference[] pa = new PhantomReference[size];
for (int i = 0; i < pa.length; i++) {
pa[i] = new PhantomReference(new VeryBig("Phantom" + i), rq);
System.out.println("Just Phantom Createed: " + (VeryBig) pa[i].get());
checkQueue("Phantom");
}
SoftReference s = new SoftReference(new VeryBig("Soft"));
WeakReference w = new WeakReference(new VeryBig("Weak"));
System.out.println("Cabage Collection");
System.gc();
}
}
C:\>java References 5
Soft-------
Just Soft Createed: Soft0
Just Soft Createed: Soft1
Just Soft Createed: Soft2
Just Soft Createed: Soft3
Just Soft Createed: Soft4
Weak-------
Just Weak Createed: Weak0
Just Weak Createed: Weak1
Just Weak Createed: Weak2
Just Weak Createed: Weak3
Just Weak Createed: Weak4
Phantom-------
Finalizing Weak0
Finalizing Weak1
Finalizing Weak2
Finalizing Weak3
Finalizing Weak4
Just Phantom Createed: null
In Phantom queue: null
Just Phantom Createed: null
In Phantom queue: null
Just Phantom Createed: null
In Phantom queue: null
Just Phantom Createed: null
In Phantom queue: null
Just Phantom Createed: null
In Phantom queue: null
Finalizing Phantom3
Finalizing Phantom2
Finalizing Phantom4
Finalizing Phantom1
Finalizing Phantom0
Cabage Collection
Finalizing Weak
相关推荐
文件夹文件清单一键导出Excel工具
这是一款文件夹文件清单一键导出 Excel 工具,选一个文件夹点一下,整棵目录树就列成一张 Excel 表。自带中文图形界面,双击启动.bat 即用。交付物包含主程序脚本、启动批处理、README 说明文档(md、html、pdf 三种版本)、示例目录和界面截图,解压即用。 功能上覆盖目录盘点的完整流程:选一个文件夹递归扫描所有子目录,文件按相对路径列进 Excel;每行带相对路径、文件名、类型、大小、创建时间和修改时间六项信息;末尾自动合计文件总数和总大小;可按扩展名过滤只保留指定类型的文件,可限制递归深度只扫顶层或指定层数。 几个实用细节:只读文件元数据不动你的原始文件,输出进独立目录同名自动加序号不覆盖;自动跳过隐藏文件和常见缓存目录如 git、node_modules;按钮运行时变灰防重复点击;同时保留命令行模式,脚本党也能直接用。 适合做交接盘点、资料报审、目录整理的行政、IT 和办公族,不用写代码。使用时双击启动.bat,选好要盘点的文件夹,按需填扩展名过滤和递归深度,点导出 Excel 清单,几秒钟后结果就在旁边的输出文件夹里,打开就能直接使用查看。第一次用建议先拿自带的示例目录跑一遍熟悉流程,再扫自己的正式文件夹。
政府科技管理者在推动科技成果转化时,如何解决技术供需匹配低效的问题?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
科技中介服务机构如何提升技术需求挖掘与服务推荐能力?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
Python3 json序列化常见报错
json只能序列化字符串、数字、列表、字典、布尔、空值。无法序列化datetime、bytes、自定义类对象,直接dumps会抛出类型错误。解决方案:自定义序列化函数,通过default参数传入,手动转换特殊对象。中文乱码:默认ensure_ascii=True会转义中文,改为False直接输出原生中文。反序列化loads注意:json字符串要求双引号,Python字典单引号字符串无法解析,需要提前替换引号。 bfqcjn.com bg-wifi.cn bjqhjy.com bjqhfs.com bddongao.cn
科技成果转化项目进场交易前,评估备案环节需要准备哪些材料?_1.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。


Java SE
