-
final 關鍵字
final 變量
final 變量能被顯式地初始化並且只能初始化一次。
被聲明爲 final 的對象的引用不能指向不同的對象。但是 final 對象裏的數據可以改變。
final 修飾符通常和 static 修飾符一起使用來創建類常量。
final 方法
類中的 final 方法可以被子類繼承,但是不能被子類修改。
聲明 final 方法的主要目的是防止其內容被修改。
final 類
final 類不能被繼承,沒有類能夠繼承 final 類的任何特性。 -
synchronized 關鍵字
用來給對象和方法或代碼塊加鎖。
當它鎖定一個方法 or 一個代碼塊時,同一個時刻最多隻有一個線程執行這段代碼。 -
volatile 關鍵字
用來確保變量的更新操作通知到其他線程。
當把變量聲明爲 volatile 類型後,編譯器與運行時都會注意到這個變量是共享的,因此不會將該變量上的操作與其他內存操作一起重新排序。 -
引用類型
強引用
一個對象賦給一個引用就是強引用。比如 new 一個對象,一個對象被賦值另一個對象。
弱引用
用 WeekReference 實現,一旦垃圾回收已啓動,就會被回收。
軟引用
用 SoftReference 實現,一般不會輕易回收,只有內存不夠時纔會回收。
虛引用
不餓能單獨存在,必須和引用隊列聯合使用。主要作用時跟蹤對象被回收的狀態。 -
String str = “welcome”+“to”+360 創建了多少對象?
-
wait() 方法 和 sleep() 方法
-
運算符優先級
優先級 | 運算符 | 結合性 |
---|---|---|
1 | () [] . | |
2 | ! +(正號) -(負號) ~ ++ – | |
3 | * / % | |
4 | +(加號) -(減號) | |
5 | << >> >>> | |
6 | < <= > >= instanceof | |
7 | == != | |
8 | &(按位與) | |
9 | ^ | |
10 | | | |
11 | && | |
12 | || | |
13 | ?: | |
14 | = += -= %= &= |= ^= ~= <<= >>= >>>= |