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

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

系統 2470 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條評論
主站蜘蛛池模板: 精品国产一二三区在线影院 | 在线欧美国产 | 欧美xxxxx毛片 | 久久久久久综合一区中文字幕 | 国产精品亚洲精品久久成人 | 一二三四社区在线播放 | 欧美成人鲁丝片在线观看 | 久久香蕉国产线看观看99 | 一区二区三区欧美日韩国产 | 欧洲一级毛片免费 | 欧美精品v国产精品v | 玖玖在线视频 | 欧洲自拍偷拍 | 亚洲视频在线看 | 成人免费毛片网站 | 26uuu欧美 | 精品视频在线免费看 | 午夜精品久久久久久 | 99在线在线视频免费视频观看 | 欧美日韩中出 | 亚洲高清国产一区二区三区 | 99热精品在线观看 | 夜夜操天天干 | 欧美日韩成人高清色视频 | 亚洲国产精品久久久久婷婷老年 | 日本色综合网 | 国产亚洲漂亮白嫩美女在线 | 欧美一级免费大片 | 欧美另类高清xxxxx | 亚洲欧美国产日产综合不卡 | 久久亚洲精品中文字幕 | 午夜精品久久久久久久2023 | 国产免费自拍视频 | 女人18毛片特级一级免费视频 | 久久综合九色综合狠狠97 | 久久www免费人成看国产片 | 久久高清一区二区三区 | 伊人热| 久久国产精品亚洲综合 | 亚洲天堂久久久 | 狠狠操狠狠操狠狠操 |