程式設計 關鍵字解釋

2022-05-21 02:26:09 字數 464 閱讀 2014

一、volatile

推薦乙個定義為volatile的變數是說這變數可能會被意想不到地改變,這樣,編譯器就不會去假設這個變數的值了。精確地說就是,優化器在用到這個變數時必須每次都小心地重新讀取這個變數的值,而不是使用儲存在暫存器裡的備份。下面是volatile變數的幾個例子:

1). 並行裝置的硬體暫存器(如:狀態暫存器)

2). 乙個中斷服務子程式中會訪問到的非自動變數(non-automatic variables)

3). 多執行緒應用中被幾個任務共享的變數

cpu也是有儲存器的,這個儲存器就是它的暫存器,雖然數量有限。編譯器總是把一些常用的記憶體位址內容,放到暫存器,這樣讀取速度更快。如果多執行緒共享乙個變數,而這個變數會不定被哪個執行緒更改。那麼最好宣告這個變數為volatile,否則編譯器會對該變數做出優化,將記憶體中的值讀到暫存器,這樣會造成別的執行緒改了,但是暫存器還沒有改。(從c++理解計算機、windows程式設計)

關鍵字static解釋

1.全域性靜態變數 在全域性變數前加上關鍵字static,全域性變數就定義成乙個全域性靜態變數.靜態儲存區,在整個程式執行期間一直存在。初始化 未經初始化的全域性靜態變數會被自動初始化為0 自動物件的值是任意的,除非他被顯式初始化 作用域 全域性靜態變數在宣告他的檔案之外是不可見的,準確地說是從定義...

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...

Java入門名詞,關鍵字解釋

物件可以看成是靜態屬性 成員變數 和動態屬性 方法 的封裝體 類是用來建立同一型別的物件模板 區域性變數需要初始化,成員變數不初始化,系統會給預設值 final關鍵字 final的變數值不能被改變,成員變數和區域性變數 形參 final的方法不能被重寫 final的類不能被繼承 內部內的使用場景 流...