博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java垃圾回收 面试_Java垃圾回收相关面试题
阅读量:5868 次
发布时间:2019-06-19

本文共 782 字,大约阅读时间需要 2 分钟。

Object的finalize()方法的作用是否与C++的析构函数作用相同

答:与C++的析构函数不同,析构函数调用确定,而它的是不确定的。

将未被引用的对象放置于F-Queue队列

方法执行随时可能会被终止

给与对象最后一次重生的机会

不建议使用finalize方法

Java中的强引用,软引用,弱引用,虚引用有什么用

强引用:

最普遍的引用:Object obj = new Object()

抛出OutOfMemoryError终止程序也不会回收具有强引用的对象

通过将对象设置为null来弱化引用,使其被回收

软引用:对象处在有用但非必须的状态

只有在内存空间不足时,GC会回收该引用的对象的内存

可以用来实现高速缓存

String str = new String("abc"); // 强引用

SoftReference softRef = new SoftReference(str); // 软引用

弱引用:非必须对象,比软引用更弱一些

GC时会被回收

被回收的概率也不大,因为GC线程优先级比较低

适用于引用偶尔被使用且不影响垃圾收集的对象

String str = new String("abc"); // 强引用

WeakReference abcWeakRef = new WeakReference(str); // 软引用

虚引用:不会决定对象的生命周期

任何时候都可能被垃圾收集器回收

跟踪对象被垃圾收集器回收的活动,起哨兵作用

必须和引用队列RefereneQueue联合使用

String str = new String("abc");

ReferenceQueue = new ReferenceQueue();

PhantomReference ref = new PhantoReference(str, queue);

转载地址:http://xytnx.baihongyu.com/

你可能感兴趣的文章
恶意软件就在Docker容器中?
查看>>
ISACA收购全球能力成熟度领导者CMMI® 研究所
查看>>
企业IT架构的现实与憧憬
查看>>
成功备战微服务的5个准备步骤
查看>>
Teradata天睿公司获评大数据分析领域第一名技术领导者
查看>>
不懂数据挖掘,内容营销等于零!
查看>>
Gartner:SDN与NFV称不上市场 只是一种部署方式
查看>>
400G算什么?MongoDB数据库600T数据暴露
查看>>
大数据背后,网络文学丰而不富
查看>>
十点总结,为何Linux如此深得人心
查看>>
纹秤对弈VDI:超融合赢了传统存储
查看>>
IBM Watson AI:这些公司正在用认知计算打击网络犯罪
查看>>
BG-UI:一个后台UI框架
查看>>
FreeFileSync:在Ubuntu中对比及同步文件
查看>>
Azure CTO:什么才是真正的混合云?
查看>>
下一个猎杀目标:近期大量 MySQL 数据库遭勒索攻击
查看>>
Python中eval带来的潜在风险
查看>>
揭秘ZSearch2.0—基于OpenResty的API网关设计
查看>>
高盛退出 R3 区块链联盟,但不放弃技术研究
查看>>
物联网产业高潮迭起 海内外投资之路在何方
查看>>