关于null和垃圾回收机制

来源:互联网 发布:北大培文杯网络赛 编辑:程序博客网 时间:2024/05/21 16:57

第二天。

还是继续看面试题,这回看的比较有意思的是关于NULL的,

题目大概是这样 

A a = new A();

null instance A??

输出是什么?

答案是false。

因为null是没有类型的,只不过他可以转换成任何类型,就好比是数学当中的集合中的空集一样属于任何一个类的子类,但是一般在表示集合的元素是是不表现出来的。


第二个是垃圾回收机制,

我们知道JAVA中是有垃圾回收机制的,把不用的对象进行回收,这种事情都是JVM干的,并不是程序员可以改变的,但是我们需要知道他是怎么判断什么时候该回收,什么时候不该回收。

这其实分为了,强引用,软引用,弱引用,虚引用。

强引用:举个例子 Student stu = new Student();

这里的stu就是典型的强引用的例子。很好理解。

软引用:这个不好举例子,口述了,就是等内存不够用了才回去清理这个对对象,就好像家里杂物间地方不够了会扔掉一点东西,这么扔的东西就是软引用。

弱引用:等级最低,无论什么时候都会被回收,就好比家里的垃圾。

虚引用:它的作用就是监视被回收的对象。


最近边看看面试题,然后在写泛型DAO,写完泛型DAO打算模拟struts2框架,加油加油!!