目前主流的jvm,基本都是基於棧式架構的虛擬機器:
基於棧的指令集架構
由於是基於棧的架構,零位址指令方式,所以也有相應的缺點:完成同乙個操作需要的更多的出棧和入棧指令,這就意味著將需要更多次的指令分派(instruction dispatch)次數以及記憶體讀寫次數。
為了解決或者優化這一問題,hotspot mv的那些大佬們開發了棧頂快取技術
該技術將棧頂的元素全部快取到了cpu的物理暫存器中,既能降低記憶體的讀寫次數,又能提高執行指令的效率。大概就是這麼乙個樣子,了解記錄一下
協議棧的基本技術
現代數字通訊技術讓我們的生活發生了徹底地改變,而通訊協議無疑是這一改變的始作俑者。硬體有自己的通訊協議,比如pci匯流排 usb匯流排 i2c匯流排等等。軟體也有自己的協議棧,無線的3gpp gprs,有線的tcp ip協議棧 atm協議等等。基於物理層的協議,很大程度是由晶元完成的,但是涉及到交換...
函式壓棧及協議棧的基本技術
在編譯器編譯檔案的時候,軟體會根據程式本身的要求對函式作不同的壓棧處理。有的壓棧是按照從左到右進行壓棧,有的壓棧是按照從右到左進行壓棧,有的不壓棧 直接用暫存器代替,有的是需要被呼叫函式自身自己平衡堆疊。下面,我們就可以乙個乙個自己看看。首先,隨便寫乙個函式,cpp view plain copy ...
月薪12K運維需要掌握和了解的技術棧
運維要學習和掌握的技能有很多,在學習的過程中要學會對知識進行分類。我一般給每個門類的知識分為三類 重點知識 使用頻率比較高的技術點,有可能每天都在用,或者每週都在用。比如 基礎命令,常用web服務的日常維護,日常監控等,需要在工作中每天使用 對於這類知識,我的做法是記在自己的有道筆記裡的常用知識模組...