對java 一些關鍵字以及內存機制整理java
static:函數
static用法: 方法/變量/靜態代碼塊/靜態導入code
static內存機制:JVM會把類的這個靜態方法和靜態變量在類加載的過程當中讀入內存(事實上是方法區),至關於常駐內存blog
final:內存
final用法:方法/類/變量get
final內存機制:it
修飾變量: final變量有3個地方能夠賦值:直接賦值,構造函數中,或是初始化塊中。 內存: 常量(final變量)和非final變量的處理方式是不同的。 每個類型在用到一個常量時,都會複製一份到本身的常量池中。 常量也像類變量(static)同樣保存在方法區,只不過他保存在常量池。 多是,類變量被全部實例共享,而常量池是每一個實例獨有的。 修飾方法: 保存在方法區,而且能夠被函數代碼直接替換,而不用等到執行時再決定具體是那個函數。
volatile:變量
synchronized:構造函數