高級Java面試題精選

來源:文萃谷 2.46W

這是本站小編為Java開發人員收集整理的面試中經常容易遇到的問題,相信你瞭解和掌握之後一定會有所提高。讓我們一起來看看吧。

高級Java面試題精選

1. 什麼是可變參數?

2. 斷言的用途?

3. 什麼時候使用斷言?

4. 什麼是垃圾回收?

5. 用一個例子解釋垃圾回收?

6. 什麼時候運行垃圾回收?

7. 垃圾回收的最佳做法?

8. 什麼是初始化數據塊?

9. 什麼是靜態初始化器?

10.什麼是實例初始化塊?

11.什麼是正則表達式?

12.什麼是令牌化?

13.給出令牌化的例子?

14.如何使用掃描器類(Scanner Class)令牌化?

15.如何添加小時(hour)到一個日期對象(Date Objects)?

16.如何格式化日期對象?

中日曆類(Calendar Class)的用途?

18.如何在Java中獲取日曆類的實例?

19.解釋一些日曆類中的重要方法?

20.數字格式化類(Number Format Class)的用途?

什麼是可變參數?

可變參數允許調用參數數量不同的方法。請看下面例子中的求和方法。此方法可以調用1個int參數,或2個int參數,或多個int參數。

//int(type) followed ... (three dot's) is syntax of a variable argument.

public int sum(int... numbers) {

//inside the method a variable argument is similar to an array.

//number can be treated as if it is declared as int[] numbers;

int sum = 0;

for (int number: numbers) {

sum += number;

}

return sum;

}

public static void main(String[] args) {

VariableArgumentExamples example = new VariableArgumentExamples();

//3 Arguments

tln((1, 4, 5));//10

//4 Arguments

tln((1, 4, 5, 20));//30

//0 Arguments

tln(());//0

}

斷言的用途?

斷言是在Java 1.4中引入的。它能讓你驗證假設。如果斷言失敗(即返回false),就會拋出AssertionError(如果啟用斷言)。基本斷言如下所示。

private int computerSimpleInterest(int principal,float interest,int years){

assert(principal>0);

return 100;

}

什麼時候使用斷言?

斷言不應該用於驗證輸入數據到一個public方法或命令行參數。IllegalArgumentException會是一個更好的選擇。在public方法中,只用斷言來檢查它們根本不應該發生的情況。

什麼是垃圾回收?

垃圾回收是Java中自動內存管理的另一種叫法。垃圾回收的目的是為程序保持儘可能多的可用堆(heap)。 JVM會刪除堆上不再需要從堆引用的對象。

用一個例子解釋垃圾回收?

比方説,下面這個方法就會從函數調用。

void method(){

熱門標籤