你這個感覺把狀態(tài)和事件混在一起了
利用狀態(tài)機處理訂單狀態(tài)流轉(zhuǎn)首先簡述一個場景,訂單的狀態(tài)流轉(zhuǎn)。 一個訂單會有很多種狀態(tài):臨時單、已下單、待支付、已支付、已完成、退款中等等。每一種狀態(tài)都和其扭轉(zhuǎn)前的狀態(tài)、在扭轉(zhuǎn)前狀態(tài)所執(zhí)行的操作有關(guān)。 ...
你這個感覺把狀態(tài)和事件混在一起了
利用狀態(tài)機處理訂單狀態(tài)流轉(zhuǎn)首先簡述一個場景,訂單的狀態(tài)流轉(zhuǎn)。 一個訂單會有很多種狀態(tài):臨時單、已下單、待支付、已支付、已完成、退款中等等。每一種狀態(tài)都和其扭轉(zhuǎn)前的狀態(tài)、在扭轉(zhuǎn)前狀態(tài)所執(zhí)行的操作有關(guān)。 ...
"強制把寫緩沖區(qū)/高速緩存中的臟數(shù)據(jù)等寫回主內(nèi)存,讓緩存中相應(yīng)的數(shù)據(jù)失效"
這里的高速緩存為什么會有臟數(shù)據(jù)呢? 不是通過MESI協(xié)議已經(jīng)保證了嗎
內(nèi)存屏障內(nèi)存屏障(Memory barrier) 為什么會有內(nèi)存屏障 每個CPU都會有自己的緩存(有的甚至L1,L2,L3),緩存的目的就是為了提高性能,避免每次都要向內(nèi)存取。但是這...
太牛逼了,一直沒明白為什么有了mesi還要volatile,現(xiàn)在終于明白了
【Java并發(fā)學(xué)習(xí)二】多線程編程的硬件基礎(chǔ)知識總結(jié)這篇簡單梳理下與多線程相關(guān)的硬件知識,了解它們能夠讓我們更清晰的了解多線程工作的本質(zhì),以及關(guān)鍵字synchronized、volatile、final的實現(xiàn)原理。 我們會發(fā)現(xiàn)...
一.相關(guān)概念 什么是常量用final修飾的成員變量表示常量,值一旦給定就無法改變!final修飾的變量有三種:靜態(tài)變量、實例變量和局部變量,分別表示三種類型的常量。 Clas...
java8中,運行時常量池已經(jīng)遷移到堆區(qū)了
深入理解JVM(1) : Java內(nèi)存區(qū)域劃分Java與C++之間有一堵由內(nèi)存動態(tài)分配和垃圾收集技術(shù)所圍成的“高墻”,墻外面的人想進去,墻里面的人卻想出來。 Java虛擬機在執(zhí)行Java程序的過程中會把它管理的內(nèi)存劃分為...
Optional 網(wǎng)上隨便搜了幾篇文章,抄來抄去。
Java8 Optional 的正確使用方式1.當(dāng)我們還在以如下幾種方式使用 Optional 時, 就得開始檢視自己了 調(diào)用 isPresent() 方法時 調(diào)用 get() 方法時 Optional 類型作為類/實...
```
public String() {
this.value = "".value;
}
```
你難道沒發(fā)現(xiàn)這個構(gòu)造方法很奇怪嗎?
為什么沒有報編譯錯誤
Java 源碼分析 — String 的設(shè)計Tip:筆者馬上畢業(yè)了,準(zhǔn)備開始 Java 的進階學(xué)習(xí)計劃。于是打算先從 String 類的源碼分析入手,作為后面學(xué)習(xí)的案例。這篇文章寄托著今后進階系列產(chǎn)出的愿望,希望能堅持...
剛剛試了一下,在 master 分支下無法執(zhí)行 hexo 命令, 難道是我理解錯了?
Hexo博客備份使用Hexo在github搭建的博客,博客作為一個單獨的GitHub倉庫存在,但是這個倉庫只有生成的靜態(tài)網(wǎng)頁文件,并沒有Hexo的源文件,如果要換電腦或者重裝系統(tǒng)后,就比較麻...
創(chuàng)建兩個分支,master 和 hexo。
修改完文章后,在 hexo 分支提交源文件; 然后切換到 master 分支上執(zhí)行 hexo g -d ,它會自動更新 github 上的靜態(tài)文件。
Hexo博客備份使用Hexo在github搭建的博客,博客作為一個單獨的GitHub倉庫存在,但是這個倉庫只有生成的靜態(tài)網(wǎng)頁文件,并沒有Hexo的源文件,如果要換電腦或者重裝系統(tǒng)后,就比較麻...