日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
堆棧溢出和內(nèi)存泄漏的區(qū)別?(什么是StackOverflowError)

堆棧溢出和內(nèi)存泄漏的區(qū)別?

棧溢出

創(chuàng)新互聯(lián)主營銀海網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,銀海h5成都微信小程序搭建,銀海網(wǎng)站營銷推廣歡迎銀海等地區(qū)企業(yè)咨詢

Java的內(nèi)存結(jié)構(gòu)中,棧的大小不是無限的。大量的方法調(diào)用過程,導(dǎo)致不斷壓棧最終將棧內(nèi)存占滿,產(chǎn)生StackOverflowError錯誤,程序直接終止運行。
產(chǎn)生棧溢出的場景:比如不合理(遞歸太深)的遞歸調(diào)用。

內(nèi)存溢出

創(chuàng)建了大量線程、對象,導(dǎo)致垃圾回收器來不及回收,分配的堆內(nèi)存被占滿,產(chǎn)OutOfMemoryError錯誤。
產(chǎn)生棧溢出的場景:比如死循環(huán)中創(chuàng)建對象。

內(nèi)存泄漏

當(dāng)很多對象使用之后已經(jīng)沒有再使用的必要而沒有置為null,導(dǎo)致垃圾回收器無法對其回收,造成內(nèi)存資源的大量浪費,給系統(tǒng)帶來很多不穩(wěn)定因素。

jvm工作原理是什么?

JVM中的內(nèi)存分為五個部分:

(1)方法區(qū):存儲加載的class字節(jié)碼,通過該區(qū)域我們能尋址到類中的方法的入口。除此之外,方法區(qū)還包括運行時常量區(qū)和靜態(tài)常量區(qū)。這個區(qū)域是所有線程共享的。

(2)堆:存儲new出來的對象,垃圾回收器主要監(jiān)控和回收的就是這塊區(qū)域。在堆里面不斷創(chuàng)建對象但是垃圾回收器不回收,就有可能造成OutOfMemoryError錯誤。這個區(qū)域也是線程共享的。

(3)虛擬機(jī)棧:存儲所有被調(diào)用的java方法的上下文。在main方法里面調(diào)用test方法,則在虛擬機(jī)棧里面push進(jìn)test方法上下文,調(diào)用完畢,則pop出test方法的上下文。倘若在main方法里面遞歸調(diào)用main方法,則虛擬機(jī)棧則會被消耗光資源,造成StackOverflowError錯誤。這個區(qū)域是線程隔離的,也就是說每個線程都有一個虛擬機(jī)棧。

(4)本地方法棧:本地方法棧與虛擬機(jī)棧類似,只不過本地方法棧中存儲所有被調(diào)用的本地native方法的上下文。這個區(qū)域也是線程隔離的。

(5)程序計數(shù)器:存儲著CPU下一條指令的地址,也就是說記錄著現(xiàn)在程序執(zhí)行到了哪里,執(zhí)行到了那條語句,哪個指令。這個區(qū)域也是線程隔離的。

到此,以上就是小編對于什么是男人無力的行為的問題就介紹到這了,希望這2點解答對大家有用。


當(dāng)前文章:堆棧溢出和內(nèi)存泄漏的區(qū)別?(什么是StackOverflowError)
標(biāo)題URL:http://www.dlmjj.cn/article/dheceip.html