猛操女人-猛操网-咪咪爱毛片-米奇久久-91破处视频-91视频综合网

千鋒教育-做有情懷、有良心、有品質的職業教育機構

當前位置:首頁  >  IT問答庫  >  Java基礎知識

JVM模型的介紹一

發布:java培訓 2022-03-16 09:54

JVM模型的介紹一

推薦答案

  Java培訓班教程系列分享JVM模型的介紹Java內存分配:JVM定義了若干個程序執行期間使用的數據區域。這個區域里的一些數據在JVM啟動的時候創建,在JVM退出的時候銷毀。而其他的數據依賴于每一個線程,在線程創建時創建,在線程退出時銷毀。

  Java按照內存使用區域可以分為四個部分:堆、棧、方法區和程序計數器;其中棧又可以分為兩大部分:Java虛擬機棧和本地方法棧;下面我將通過自己的學習與別人總結的參考見解來介紹下jvm

圖片1

圖片1

  程序計數器

  程序計數器是一塊較小的內存空間,它被用來記錄當前指令執行程序的位置,在內部通過改變計數器的位置來確定下一條指令執行程序的位置;

  我們知道Java多線程的實質是通過線程輪流切換并分配處理執行事件來實現的,而在任何一個確定的時刻,一個處理器只會執行一個線程中的一條指令。為了能讓線程切換后仍然能恢復到原來的位置,每個線程都需要有一個獨立的程序計數器,他們之間互不影響,所以,程序計數器是線程私有的內存區域

  如果一個線程正在執行一個Java方法,那么程序計數器記錄的就是正在執行的虛擬機字節碼指令的地址;如果正在執行一個native方法,那么程序計數器的值就為空;

  程序計數器是唯一一個在Java虛擬機規范中沒有規定任何OutOfMemoryError情況的區域,在四個區域中只有它不會出現內存溢出的情況

  棧之Java虛擬機棧

  Java虛擬機棧描述的是Java方法的內存模型;每個方法在被執行的同時都會創建一個Java虛擬機棧(棧幀),用于存儲局部變量表、操作棧、動態鏈接和方法出口等信息,因此Java虛擬機棧也是線程私有的;

  類似于動畫是由一棧一棧的棧幀切換產生的,程序的執行也是由棧幀的切換產生的,只是這些棧幀中存放的是方法的局部變量、操作棧、動態鏈接和方法出口等信息;每一個方法被調用直至執行完成的過程,就是一個棧幀在虛擬機棧中從入棧到出棧的過程;

  對于執行引擎來說,只有棧頂的棧幀是有效的,稱為當前棧幀,這個棧幀關聯的方法稱為當前方法,執行引擎所有的字節碼指令都值針對當前棧幀進行操作;

  通常我們所說的變量存儲在棧中是不嚴謹的,在Java虛擬機棧中存放的是對應方法的局部變量,而且這些局部變量存放在Java虛擬機中的局部變量表中;對于保存的局部變量分類:Java中的基本數據類型變量的值存放在局部變量表,而對于引用類型變量來說,局部變量表只會存放對象的引用,真正的值存放在堆中;

  Java虛擬機是使用局部變量表來完成參數值到參數變量表的傳遞過程的,系統不會為局部變量賦予初始值(對于實例變量和類變量都會賦予初始值)

  在Java虛擬機規范中,對Java虛擬機棧規定了兩種異常情況:如果線程請求的棧深度大于虛擬機所允許的深度,將拋出StackOverflowError 異常;如果虛擬機棧動態擴展時無法申請到足夠的內存時,會拋出OutOfMemoryError 異常

  以上就是小編介紹的"Java培訓班分享的內容,希望對大家有幫助,如有疑問還可以點擊進入Java視頻教程進行學習。

  Java培訓班http://Java.qfedu.com/

最新問答資訊

01 unity用什么編程語言?unity學習難度大嗎

學習 unity 語言
6020 人關注

02 python容易學嗎?學好python有什么好處?

學習 python 工作 培訓
5389 人關注

03 html是什么語言?html學習難嗎?

學習 html 語言 可以
5062 人關注

04 c語言難學嗎?c語言學好要多久?

語言 技術 學習
4733 人關注

06 學好平面設計要多久?報速成班靠譜嗎?

平面 設計 學習 時間
4238 人關注

相關問題

計算機前端和后端區別,到底該學哪一個?

互聯網行業的發展速度很快,有關市場上對于it行業的人才需求量越...

java和php的區別是什么?哪一個更難一些?

有很多零基礎的小白想要去學習編程技術,那么可以考慮一下java和...

java與java script的區別有哪些?

相信大多數同學對java、java script都不會陌生,二者都是編程語...

java中什么是繼承?

繼承的特點:只需明確一點,java只支持單繼承,不支持多繼承,但...

java byte取值范圍是什么?

同學您好,java byte取值范圍是什么?針對這個問題可以看看下面的...

javascript和java有什么區別

1)基于對象和面向對象:Java是一種真正的面向對象的語言,即使是...

測一測
你知道多少IT梗

主站蜘蛛池模板: 午夜免费福利网站 | 黄片毛片在线免费看 | 日本3级视频 | 黄色网址中文字幕 | 国产欧美日韩另类一区乌克兰 | 一级做a爰片性色毛片思念网 | 午夜寂寞影院视频在线观看 | 香蕉视频黄色 | 国产第3页 | 日韩色在线 | 欧美一级在线全免费 | 最新亚洲人成网站在线影院 | 久久国产精品免费视频 | 欧美草草 | 国产日韩欧美视频在线 | 香蕉乱码成人久久天堂爱免费 | 久草欧美 | 中文字幕欧美在线 | 91探花福利精品国产自产在线 | 亚洲成色在线综合网站 | 日本不卡二区 | 亚洲综合激情六月婷婷在线观看 | 在线中文字幕精品第5页 | 国产无遮挡又爽又色又刺激 | 黄色视屏在线免费观看 | 午夜大片免费男女爽爽影院久久 | 97国产在线视频 | 58av国产精品 | 高清国语自产拍免费视频国产 | 伊人五月天婷婷 | 天天摸天天爽天天碰天天弄 | 男女羞羞的视频网站在线观看 | 亚洲三级在线 | 亚洲小视频 | 精品国产免费观看一区 | 黄色网址视频在线观看 | 亚洲人成人77777网站不卡 | 影音先锋亚洲资源 | 日本三级香港三级国产三级 | 国产字幕制服中文在线 | 日本人欧美xx |