中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Java內存模型與JVM運行時數據區的區別

首先,這兩者是完全不同的概念,絕對不能混為一談。

1.什么是Java內存模型?

Java內存模型是Java語言在多線程并發情況下對于共享變量讀寫(實際是共享變量對應的內存操作)的規范,主要是為了解決多線程可見性、原子性的問題,解決共享變量的多線程操作沖突問題。

成都創新互聯公司主要從事成都做網站、網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務太倉,十多年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:18980820575

多線程編程的普遍問題是:

  • 所見非所得
  • 無法肉眼檢測程序的準確性
  • 不同的運行平臺表現不同
  • 錯誤很難復現

故JVM規范規定了Java虛擬機對多線程內存操作的一些規則,主要集中體現在volatile和synchronized這兩個關鍵字。

  • volatile 是JVM提供的對共享變量在多線程讀寫時的可見性保證,主要作用是對volatile修飾的共享變量禁止被緩存(這里跟CPU的高速緩存和緩存一致性協議有關),不做重排序(重排序:在CPU處理速度遠大于內存讀寫速度的現狀下為了提高性能而進行的優化),但是并不保證共享變量操作的原子性。
  • synchronized 是JVM提供的鎖機制,通過鎖的特性和內存屏障保證鎖住區域操作的原子性、可見性、有序性。
  • 鎖爭搶的是對象(static鎖的是類對象,非static鎖的是當前對象,即this,鎖方法塊鎖的是自定義對象)在堆內存中對象頭的一塊內存的“主權”,只有一個線程能獲取該“主權”,即排他性,通過鎖的排他性保證對鎖住區域的操作的原子性
  • 通過在代碼前后加入加載屏障(Load?Barrier)和存儲屏障(Store Barrier),能保證鎖住代碼塊或者方法中對共享變量的操作的可見性
  • 通過在代碼前后加入獲取屏障(Acquire?Barrier)和釋放屏障(Release?Barrier),能保證鎖住代碼塊或者方法中對共享變量的操作的有序性

2.什么是JVM運行時數據區?

JVM運行時數據區,是Java虛擬機在運行時對該Java進程占用的內存進行的一種邏輯上的劃分,包括方法區、堆內存、虛擬機棧、本地方法棧、程序計數器。這些區塊實際都是Java進程在Java虛擬機的運作下通過不同數據結構來對申請到的內存進行不同使用。

  • 方法區:JVM用來存儲加載的類信息、常量、靜態變量、編譯后的代碼等數據。不同虛擬機有不同的實現,oracle的HotSpot在Java7中方法區放在永久代,Java8中方法區放在元空間,并通過GC機制來管理。
  • 虛擬機棧:每個線程私有的空間,由多個棧幀組成,一個方法對應一個棧幀,棧幀包括局部變量表、操作數棧、動態鏈接、方法返回地址、附加信息等。棧內存默認最大1M,超出跑出StackOverFlowError。
  • 本地方法棧:類似虛擬機棧,是為虛擬機使用native本地方法而準備的。具體實現由虛擬機廠商來實現。HotSpot虛擬機中實現與虛擬機棧一致,同時超出大小拋StackOverFlowError。
  • 程序計數器:記錄當前線程執行字節碼的位置,存儲的是字節碼指令地址,如果native方法,則為空。CPU同一時間只能執行一條線程中的指令,線程切換后通過程序計數器來恢復正確的執行位置。
  • 堆內存:所有線程都可以訪問修改,存放的是對象實例,是數據區中占用空間最大的部分,在HotSpot虛擬機中分為新生代和老年代,新生代又分為Eden區和Survivor0區、Survivor1區。

當前文章:Java內存模型與JVM運行時數據區的區別
分享網址:http://www.2m8n56k.cn/article2/jdsgic.html

成都網站建設公司_創新互聯,為您提供網站設計公司網站營銷域名注冊面包屑導航靜態網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化
主站蜘蛛池模板: 久久伊人精品热在75 | 欧美一区二区在线观看 | 久久久香蕉 | 午夜爽爽爽男女免费观看hd | 国产一级片视频 | 中文久草 | 亚洲男人天堂视频 | 中文在线免费视频 | 欧美在线观看高清一二三区 | 成年免费a级毛片 | 国内在线精品 | 亚洲男人天堂久久 | 国产一级毛片视频在线! | 欧美三级在线观看视频 | 国产精品特级毛片一区二区三区 | 狠狠色丁香婷婷综合久久来 | 91国语精品自产拍在线观看一 | 加勒比色久综合在线 | 欧美笫一页 | 巨乳女上司 | 国产在线一区二区三区在线 | 美女一级ba大片免色野外 | 国产在线观看高清不卡 | 香蕉福利久久福利久久香蕉 | 精品欧美亚洲韩国日本久久 | 成人入口 | 国产高清视频免费在线观看 | 国产一区二区影院 | 亚洲爱爱爱 | 视频二区在线观看 | 美女操男人 | 久久精品国产精品亚洲毛片 | 日本在线观看不卡免费视频 | 久草青青 | 岛国精品成人 | 中国一级毛片视频 | 久久久亚洲国产精品主播 | 国产午夜精品一区二区三区不卡 | 欧美成人综合在线观看视频 | www.黄色大片 | 最近手机中文字幕1 |