Java關鍵字

Java關鍵字

1. final

  1. 修飾類:表示這個類不能被繼承,final類的所有成員方法都被隱式指定爲final方法
  2. 修飾方法:表示這個類不能被重寫(override)
  3. 修飾基本數據類型變量:變量的值一旦被初始化後,便不能改變。可以先聲明再初始化,也可以在聲明的同時直接初始化。
  4. 修飾引用數據類型變量:引用在初始化後,便不能指向其他引用。可以先聲明再初始化,也可以在聲明的同時直接初始化。

2. synchronized

  1. 概述:使用synchronized關鍵字修飾一個方法或者一個代碼塊時,能夠保證在同一時刻最多隻有一個線程執行該段代碼。
  2. 注意:使用synchronized關鍵字修飾靜態方法或者代碼塊,執行該段代碼時需要獲取類鎖;使用synchronized關鍵字修飾成員方法,執行該段代碼時需要獲取相應的對象鎖。

3. volatile

  • 保證內存可見性
  1. 概述: 具體講就是線程每次讀一個變量的值時,必須從主內存刷新最新的值;線程每次寫一個變量時,必須立即同步到主內存中
  2. 原理:讀變量值時保證read, load, use這三個操作連續出現;寫變量時保證assign, store, write這三個操作連續出現
  • 防止指令重排序
  1. 概述:通過插入“內存屏障”來防止指令重排序
發佈了11 篇原創文章 · 獲贊 7 · 訪問量 1918
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章