Java關鍵字

transient:修飾變量,指示變量爲不須要進行序列化(持久化)的屬性編程

序列化是使對象的狀態持久化的過程。這意味着對象的狀態被轉換爲字節流,用於持久化(例如,將文件存儲在文件中)或傳輸(例如,經過網絡發送字節)。以一樣的方式,咱們能夠使用反序列化從字節中恢復對象的狀態。序列化主要用於網絡編程是Java編程中的重要概念之一。須要經過網絡傳輸的對象必須轉換爲字節。爲此,這些類或接口須要實現該Serializable接口。緩存

在某些狀況下,可能但願避免持久化某些變量,由於您不須要持久保存這些變量,將不須要序列化的屬性前添加關鍵字transient,序列化對象的時候,這個屬性就不會序列化到指定的目的地中。靜態(static)變量不會被序列化,所以不須要用transient修飾安全

 

instanceof:用來測試它左邊的對象是不是它右邊的類的實例,返回boolean類型網絡

null用操做符instanceof測試任何類型時都是返回false多線程

 

final:能夠聲明成員變量、方法、類以及本地變量,將引用聲明爲final,將不能改變這個引用了,編譯器會檢查代碼,在你試圖將變量再次初始化時,編譯器會報編譯錯誤。jvm

final變量:不可變,只讀,做爲常量性能

final方法:聲明方法表示方法不可被子類覆蓋測試

final類:String,Integer等包裝類,不能被繼承優化

使用final關鍵字在jvm和Java應用中會緩存數據,提升性能;在多線程環境下安全的共享;jvm會對final變量,方法,類進行優化線程

 

static:用來修飾變量,方法,表示靜態的意思,全部成員共享,能夠直接經過className調用

用static修飾,在類被加載時就已經"準備好了",也就是能夠被使用或者已經被執行,能夠脫離對象而執行

 

volatile、synchronized

用於多線程操做,詳見多線程部分

相關文章
相關標籤/搜索