1. 程式人生 > >java 不常見 關鍵字

java 不常見 關鍵字

1.native 關鍵字

native關鍵字比較少見,在Object 類中有不少方法是用native 關鍵字修飾,native 不靜態修飾符也不代表返回型別,表示此方法呼叫的是系統的本地方法,比如(在windows 系統中就是呼叫的c 語言的方法)

2.assert :java斷言

格式:assert boolean表示式

如果boolean表示式為true ,程式繼續執行

如果boolean表示式為false,則程式丟擲java.lang.AssertionError,輸出[錯誤資訊]。

在eclipse 或 myeclipse 中需要開啟assert(斷言),預設是關閉

設定開啟:找到匯入的jdk ,設定jvm引數為-ea 或 -enableassertions

public class test{
    public static void main(String[] args) {
		boolean tre = true;
		int i = 0;
		if(i < 1){
			tre = false;
		}
		assert tre;
		System.out.println(tre);
	}

}

3.  instanceof  型別判斷

4. volatile 型別狀態符,加在變數上表示執行緒安全

5.transient :(參考:http://www.cnblogs.com/lanxuezaipiao/p/3369962.html)

java 的transient關鍵字為我們提供了便利,你只需要實現Serilizable介面,將不需要序列化的屬性前新增關鍵字transient,序列化物件的時候,這個屬性就不會序列化到指定的目的地中。

實際開發過程中,我們常常會遇到這樣的問題,這個類的有些屬性需要序列化,而其他屬性不需要被序列化,打個比方,如果一個使用者有一些敏感資訊(如密碼,銀行卡號等),為了安全起見,不希望在網路操作(主要涉及到序列化操作,本地序列化快取也適用)中被傳輸,這些資訊對應的變數就可以加上transient關鍵字。換句話說,這個欄位的生命週期僅存於呼叫者的記憶體中而不會寫到磁盤裡持久化