问题一:对象头中包含了哪些信息?
对象头中包含了哪些信息?
参考回答:
对象头中包含了关于对象的一些必要设置信息,例如这个对象是哪个类的实例、如何找到类的元数据信息、对象的哈希码、对象的GC分代年龄等。此外,根据虚拟机当前运行状态的不同,对象头还可能有不同的设置方式,比如是否启用偏向锁等。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627167
问题二:什么是init方法?它在对象创建过程中起什么作用?
什么是init方法?它在对象创建过程中起什么作用?
参考回答:
init方法通常指的是对象的构造方法。在虚拟机视角下,一个新的对象在执行init方法之前已经产生,但从Java程序的视角看,执行new指令后会接着执行init方法,完成对象的初始化工作,这样一个真正可用的对象才算产生出来。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627168
问题三:什么是强引用?软引用又在Java中有什么特点
什么是强引用?软引用又在Java中有什么特点
参考回答:
普通的对象引用关系就是强引用。软引用用于维护一些可有可无的对象。只有在内存不足时,系统才会回收软引用对象。如果回收了软引用对象之后仍然没有足够的内存,系统才会抛出内存溢出异常。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627169
问题四:弱引用与软引用有什么不同?
弱引用与软引用有什么不同?
参考回答:
弱引用对象相比软引用来说,生命周期更短,更加“无用”。当JVM进行垃圾回收时,无论内存是否充足,都会回收被弱引用关联的对象。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627170
问题五:虚引用在Java中的作用是什么?
虚引用在Java中的作用是什么?
参考回答:
虚引用是一种形同虚设的引用,在现实场景中用得不是很多。它主要用来跟踪对象被垃圾回收的活动。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/627171