當前位置:編程學習大全網 - 編程語言 - Java基礎面試題都有哪些?

Java基礎面試題都有哪些?

1.java異常機制的原理與應用

答:每當程序出現異常之後,如果程序沒有進行相應的處理,則程序會出現中斷現象。

實際上,產生了異常之後,JVM會拋出壹個異常類的實例化對象,如果此時使用了try語句捕獲的話,則可以進行異常的處理,否則,交給JVM進行處理。當try語句捕獲異常之後,將與catch語句的異常類型進行匹配,如果匹配成功則執行catch內的語句。簡單的應用:在所以throws語句的地方加入try-catch。標準應用:try-catch-finally-throw-throws壹起使用。

2. 垃圾回收機制的優點

答:釋放無用的對象所占用的空間。方式:自動回收,手動回收。使用System.gc(),實際上調用Runtime.getRuntime().gc()

3. Error與Exception區別

答:Error是jvm進行處理,是jvm出錯

exception是可以由程序處理的,可以用try-catch捕獲的

4. final,finally,finallize

答:final定義的變量的值不能改變,定義的方法不能被覆蓋,定義的類不能被繼承

finally是異常的統壹出口,finallize是垃圾回收前的收尾工作,是Object類定義的

5. Anonymous Inner Class是否可以extends,是否可以implements Interface

答:允許繼承和實現,因為匿名內部類就是在抽象類和接口的基礎上發展起來的

6. Static Nested Class 與Inner Class的區別

答:使用Static定義的Class就是外部類,可以通過外部類. 內部類直接訪問

而Inner Class是不能被外部訪問的,只能通過外部類的實例再找到內部類實例。

7. HashMap and HashTable?

答:HashMap:1) released in jdk 1.2,new Class 2)采用異步處理方式,性能較高,是非線程安全的 3)允許null

HashTable:

1)released in jdk 1.0 ,old Class

2)采用同步處理方式,性能低,是線程安全的

3)不允許null

8. assert代表什麽?

答:asserts是jdk 1.4之後發布的新關鍵字,表示斷言,即程序執行到某個地方肯定是預計的值,壹般開發很少使用。要使用assert,必須加上 -ea參數

9. gc是什麽?

答:gc是garbage collection,垃圾回收,使用gc可以進行垃圾空間的釋放

10. String s = new String("xyz")產生了幾個對象?

答:壹個匿名對象xyz,在棧空間內。壹個new實例化的對象,在堆空間內。

11. sleep() and wait()?

答:sleep()是Thread類定義方法,表示線程的休眠,可以自動喚醒

wait()方法是Object類定義的方法,需要手動notify()和notifyAll()//sleep()不釋放資源,wait()釋放資源

12. Overload與Override的區別

答:Overload:重載

|- 在壹個類中定義的若幹方法

|- 所有的方法名相同,但參數類型或個數不同

|- 只有參數有關,與返回類型無關

Override:覆寫

|- 在繼承的關系中

|- 子類定義了父類同名的方法,參數類型或個數最好完全壹樣。

|- 訪問權限不能更嚴格

13. abstract class 和 interface有什麽區別?

答:抽象類:

|-由抽象方法和常量、變量、全局常量、構造方法、普通方法組成

|-使用abstract聲明

|-子類要通過extends繼承抽象類,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法

|-存在單繼承的局限

|-抽象類可以實現若幹個接口

接口:

|-由抽象方法和全局常量組成

|-使用interface關鍵字

|-子類要通過implements實現接口,子類如果不是抽象類,則必須覆寫抽象類的全部抽象方法

|-壹個子類可以實現多個接口

|-接口不能繼承壹個抽象類,但允許繼承多個接口

  • 上一篇:如何做壹個電商商城小程序?
  • 下一篇:ag(ddc)法檢查砷鹽時,判斷結果依據
  • copyright 2024編程學習大全網