Java基础面试题(2)

Java基本类型有哪些?

一共8种:
byte,int,short,long,float,double,char,boolean

引用数据类型有哪些?

3种:类,接口,数组

为什么Java里有基本数据类型和引用数据类型?

引用类型有哪些?

  • 什么是引用

  • 强引用

    就是平常我们用的最多的情况:

    Object o = new Object();
    

    如果不特意使用 java.lang.ref 下的类,那么程序中的所有引用都是强引用。
    有强引用存在的对象永远都不会被 gc 收集,所以在内存不够用时,JVM 宁愿抛出 OutOfMemoryError 这样的错误,也不愿意将强引用对象进行回收。

  • 软引用(SoftReference)

    软引用不会保证对象一定不会被回收,只能最大可能保证。如果内存有剩余,那么软引用对象不会被回收
    如果内存不足,那么 gc 会回收软引用对象。所以这种特性可以用来实现缓存技术。软引用要用 java.lang.ref.SoftReference 来实现。

  • 弱引用(WeakReference)
    和软引用不同的是,弱引用一定会在下一次gc回收,不管内存是否不足。

  • 虚引用(PhantomReference)

throw与throws区别

posted @ 2021-10-12 09:42  offlineboy  阅读(28)  评论(0)    收藏  举报