當前位置:才華齋>計算機>java語言>

高階Java面試題精選

java語言 閱讀(2.54W)

這是本站小編為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(){