摘要:的內(nèi)存模型分為主內(nèi)存和工作內(nèi)存主內(nèi)存是所有線程共享的,工作內(nèi)存是每個線程獨有的。工作內(nèi)存和主內(nèi)存的劃分和堆,棧,方法區(qū)的劃分不同,兩者基本沒有關(guān)系,如果勉強(qiáng)對應(yīng),則主內(nèi)存可理解為堆中實例數(shù)據(jù)部分,工作內(nèi)存則對應(yīng)棧中部分區(qū)域
Java的內(nèi)存模型分為主內(nèi)存和工作內(nèi)存:
主內(nèi)存是所有線程共享的,工作內(nèi)存是每個線程獨有的。是主內(nèi)存中對象的拷貝,對工作內(nèi)存的讀取和寫入最后都要同步到主內(nèi)存中去;
Java虛擬機(jī)規(guī)范屏蔽了Java內(nèi)存模型來屏蔽不同操作系統(tǒng)的硬件和操作系統(tǒng)引起的差異,達(dá)到跨平臺的內(nèi)存訪問效果
為了獲得更好的執(zhí)行性能,Java 內(nèi)存模型沒有限制執(zhí)行引擎使用處理器的特定緩存器或緩存來和主內(nèi)存(可以和 RAM類比,但是是虛擬機(jī)內(nèi)存的一部分)交互,工作內(nèi)存(可類比高速緩存,也是虛擬機(jī)內(nèi)存的一部分)為線程私有。
工作內(nèi)存和主內(nèi)存的劃分和 Java 堆,棧,方法區(qū)的劃分不同,兩者基本沒有關(guān)系,如果勉強(qiáng)對應(yīng),則主內(nèi)存可理 解為堆中實例數(shù)據(jù)部分,工作內(nèi)存則對應(yīng)棧中部分區(qū)域;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/69787.html
摘要:因為管理人員是了解手下的人員以及自己負(fù)責(zé)的事情的。處理器優(yōu)化和指令重排上面提到在在和主存之間增加緩存,在多線程場景下會存在緩存一致性問題。有沒有發(fā)現(xiàn),緩存一致性問題其實就是可見性問題。 網(wǎng)上有很多關(guān)于Java內(nèi)存模型的文章,在《深入理解Java虛擬機(jī)》和《Java并發(fā)編程的藝術(shù)》等書中也都有關(guān)于這個知識點的介紹。但是,很多人讀完之后還是搞不清楚,甚至有的人說自己更懵了。本文,就來整體的...
摘要:因為管理人員是了解手下的人員以及自己負(fù)責(zé)的事情的。處理器優(yōu)化和指令重排上面提到在在和主存之間增加緩存,在多線程場景下會存在緩存一致性問題。有沒有發(fā)現(xiàn),緩存一致性問題其實就是可見性問題。 網(wǎng)上有很多關(guān)于Java內(nèi)存模型的文章,在《深入理解Java虛擬機(jī)》和《Java并發(fā)編程的藝術(shù)》等書中也都有關(guān)于這個知識點的介紹。但是,很多人讀完之后還是搞不清楚,甚至有的人說自己更懵了。本文,就來整體的...
摘要:編譯器,和處理器會共同確保單線程程序的執(zhí)行結(jié)果與該程序在順序一致性模型中的執(zhí)行結(jié)果相同。正確同步的多線程程序的執(zhí)行將具有順序一致性程序的執(zhí)行結(jié)果與該程序在順序一致性內(nèi)存模型中的執(zhí)行結(jié)果相同。 前情提要 深入理解Java內(nèi)存模型(六)——final 處理器內(nèi)存模型 順序一致性內(nèi)存模型是一個理論參考模型,JMM和處理器內(nèi)存模型在設(shè)計時通常會把順序一致性內(nèi)存模型作為參照。JMM和處理器內(nèi)...
摘要:內(nèi)存模型即,簡稱,其規(guī)范了虛擬機(jī)與計算機(jī)內(nèi)存時如何協(xié)同工作的,規(guī)定了一個線程如何和何時看到其他線程修改過的值,以及在必須時,如何同步訪問共享變量。內(nèi)存模型要求調(diào)用棧和本地變量存放在線程棧上,對象存放在堆上。 Java內(nèi)存模型即Java Memory Model,簡稱JMM,其規(guī)范了Java虛擬機(jī)與計算機(jī)內(nèi)存時如何協(xié)同工作的,規(guī)定了一個線程如何和何時看到其他線程修改過的值,以及在必須時,...
摘要:作為一個程序員,不了解內(nèi)存模型就不能寫出能夠充分利用內(nèi)存的代碼。程序計數(shù)器是在電腦處理器中的一個寄存器,用來指示電腦下一步要運(yùn)行的指令序列。在虛擬機(jī)中,本地方法棧和虛擬機(jī)棧是共用同一塊內(nèi)存的,不做具體區(qū)分。 作為一個 Java 程序員,不了解 Java 內(nèi)存模型就不能寫出能夠充分利用內(nèi)存的代碼。本文通過對 Java 內(nèi)存模型的介紹,讓讀者能夠了解 Java 的內(nèi)存的分配情況,適合 Ja...
閱讀 767·2023-04-25 15:13
閱讀 1388·2021-11-22 12:03
閱讀 816·2021-11-19 09:40
閱讀 1898·2021-11-17 09:38
閱讀 1702·2021-11-08 13:18
閱讀 649·2021-09-02 15:15
閱讀 1760·2019-08-30 15:54
閱讀 2623·2019-08-30 11:12