transient關鍵字
當一個對象被序列化的時候,被transient修飾的變量不參與序列化和反序列化。
transient關鍵字一般在實作了Serializable接口的類中使用,用于将變量從序列化過程中排除。
volatile關鍵字
被volatile關鍵字修飾的變量,在被線程所使用時,總會被讀取到最新寫入的值。
要了解volatile關鍵字的作用,得結合jvm記憶體機制。
定義一個變量在多線程中使用時,線程的工作記憶體會從主記憶體複制一份變量副本,即使變量的值被修改,修改的也是主記憶體中的值,跟線程的工作記憶體中的變量副本沒有任何關系。
要想使線程的工作記憶體讀取主記憶體中變量最新的值,就需要将變量用volatile修飾。
推薦文章:部落格園-volatile關鍵字的作用