JAVA 用得比較少的關鍵字以及語法

   1.Instanceof:

instanceof是Java的一個二元操作符,Java的保留關鍵字。用來判斷左邊的對象是否是它右邊的類的實例,返回boolean類型。

 

   2.? super T :

? super T語法將泛型類限制爲所有T的超類(包括T自身),能用於參數中,返回值不可以限定。

 

   3.native:

Native 就是java調用非java代碼的接口。該方法的實現由非java語言(例如C)實現.

例如

 public class HaveNatives

  {

  native public void Nativea( String x )

  }

 非JAVA代碼的實現以C爲例:

進入cmd

1.編譯java HaveNatives.java 類,獲得CLASS

2.運行javah HaveNatives,獲得HaveNatives類C的實現

3.用VC6創建HaveNativesWin32動態鏈接庫工程。將上述生成的頭文件HaveNatives.h拷貝到
C:/Program Files/Microsoft Visual Studio/MyProjects/HaveNativesWin32目錄下面。
將C:/JDK1.5/include目錄下的jni.h和C:/JDK1.5/include/win32/jni_md.h兩個頭文件拷貝到VC安裝目錄下的C:/Program Files/Microsoft Visual Studio/VC98/Include目錄下面。在VC IDE中新建HelloWorld.cpp文件,實現頭文件中聲明的方法並編譯生成DLL。

4. 將生成的DLL拷貝到工程的bin下面,然後設置DLL搜索路徑(環境變量PATH)爲C:/workspace/jnitest/bin(JNI並沒有規定必須將dll放在與class文件相同的目錄,只要確保JVM能搜索到DLL即可)③。重新啓動Elipse後,運行測試程序,將看到控制檯輸出“Hello World!”

注意,③必須設置好DLL搜索路徑,或者將dll拷貝到C:/WINDOWS/system32下面。

4.Transient(轉於http://libin123.javaeye.com/blog/319288)

 java的serialization提供了一個非常棒的存儲對象狀態的機制,說白了serialization就是把對象的狀態存儲到硬盤上去,等需要的時候就可以再把它讀出來使用。但是在存儲對象狀態時,我們有時候會需要特定的對象數據在serialization時不進行存儲。這時候 transient關鍵字就派上用場了。要關掉類的特定的數據域,可以使用transient關鍵字進行定義,這對於底層的java虛擬機來說,這個 transient類型的變量不是一個類的永久性的狀態。

2、比如說在一個實體Bean中,transient和   static字段是非持久性字段,不能保存在數據庫中。  
  另外,如果你的對象需要序列化到數據庫、JDNI或通過Object流傳遞給其他對象的話,對象中的非持久性字段應該加transient關鍵字。

3、  你如果寫了一個程序並需要序列化到本地或者數據庫中(不只是你一個人需要用),並且因爲測試的緣故,你認爲加上了自己的一些信息,例如用戶名,密碼(例如數據庫的身份),這樣方便測試.但是,這些信息是肯定不應該被別人知道或者瞭解的,同時呢,又不想每次自己都去寫都去改,這樣,你可以用 transient定義這樣的變量存儲它們.

4、   下面是java規範中對transient關鍵字的解釋:  
      The   transient   marker   is   not   fully   specified   by   The   Java   Language     Specification   but   is   used   in   object   serialization   to   mark   member   variables   that   should   not   be   serialized.

5、java有個特點就是序列化,簡單地來說就是可以將這個類存儲在物理空間(當然還是以文件的形式存在),那麼當你從本地還原這個文件時,你可以將它轉換爲它本身。這可以極大地方便網絡上的一些操作,但同時,因爲涉及到安全問題,所以並不希望把類裏面所有的東西都能存儲(因爲那樣,別人可以通過序列化知道類裏面的內容),那麼我們就可以用上transient這個關鍵字,它的意思是臨時的,即不會隨類一起序列化到本地,所以當還原後,這個關鍵字定義的變量也就不再存在。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章