亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

java內存區域與內存溢出異常

系統 2415 0

Java虛擬機在執行java程序過程中會把它所管理的內存劃分為若干個不同的數據區域

java內存區域與內存溢出異常
?

1. 程序計數器
a) 是一塊較小的內存,它的作用可以看做是當前線程所執行的字節碼的行號指示器。在虛擬機的概念模型里,字節碼解釋器工作時就是通過改變這個計數器的值來選取下一條需要執行的字節碼指令、分支、循環、跳轉、異常處理、線程恢復等基礎功能都需要依賴這個計數器來完成
b) 由于java虛擬機的多線程是通過線程輪流切換并分配處理器執行時間的方式來實現的,在任何一個確定的時刻,一個處理器(對于多核處理器來說是一個內核)只會執行一條線程中的指令,因此,為了線程切換后能恢復到正確的執行位置,每條線程都需要有一個獨立的程序計數器,各條線程之間的計數器互不影響,獨立存儲,我們稱這類內存區域為“線程私有”的內存

2. Java虛擬機棧
a) 用戶存儲局部變量表、操作數棧、動態鏈接、方法出口等信息,每一個方法被調用直至執行完成的過程,就對應著一個棧幀在虛擬機中從入棧到出棧的過程
b) 局部變量表存放了編譯期可知的各種基本數據類型(boolean、type、char、short,int、float、long、double),對象引用(reference類型)和returnAddress類型(指向了一條字節碼指令的地址)
c) 在這個區域中會出現兩種異常:如果線程請求的棧深度大于虛擬機所允許的深度,將拋出StackOverflowError異常,如果虛擬機棧可以動態擴展,當擴展時無法申請到足夠的內存空間時會拋出OutOfMemoryError異常


3. Java堆
a) 此內存區域唯一的目的就是存放對象實例,幾乎所有的對象實例都在這里分配內存
b) 當前主流的虛擬機都是可過擴展來規定此區域所分配的最大內存空間(通過-Xmx和-Xms控制),如果在堆中沒有內存完成實例分配,并且堆也無法再擴展時,將會拋出OutOfMemoryError異常

4. 方法區
a) 存放加載的類信息、常量、靜態變量


實戰:OutOfMemoryError異常

1. java堆溢出

java內存區域與內存溢出異常
?
運行結果:java.lang.OutOfMemoryError:java heap space



2. java棧溢出

java內存區域與內存溢出異常
?
運行結果:java.lang.StackOverflowError

?

java內存區域與內存溢出異常


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 香蕉一区二区 | 在线观看香蕉免费啪在线观看 | 国产片网址 | 久久黄色影院 | 福利午夜国产网站在线不卡 | 亚洲欧美精品久久 | 九九这里只精品视在线99 | 尤物91| 麻豆成人精品国产免费 | 91精品国产综合久久福利 | 亚洲精品片 | 久久红综合久久亚洲网色 | 午夜免费福利社 | 国产波多野结衣中文在线播放 | 久久综合九色综合97伊人麻豆 | 国产专区自拍 | 久久人人澡 | 777福利 | 欧洲精品视频在线观看 | 日韩欧美一区二区三区久久 | 色视频播放 | 久久se精品一区二区国产 | 欧美顶级毛片在线播放 | 欧美啊v在线观看 | 久久综合久色欧美婷婷 | 久久婷婷网| 成人黄色网址 | 自拍在线视频 | 国产亚洲欧美另类一区二区三区 | 久久精品国产影库免费看 | 精品国产日韩亚洲一区二区 | 国产精品伦理一区二区三区 | 欧美一区二区在线播放 | 最新99国产成人精品视频免费 | 欧美日韩一区二区三区毛片 | 综合久久久 | 亚洲美女在线播放 | 九九精品免视看国产成人 | 色婷婷久久综合中文网站 | 久久99精品久久久久久黑人 | 98色花堂国产精品首页 |