真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中堆內(nèi)存與棧內(nèi)存的區(qū)別是什么?

今天小編給大家分享的是java中堆內(nèi)存與棧內(nèi)存的區(qū)別,相信大部分人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。

創(chuàng)新互聯(lián)公司主營包河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),包河h5小程序定制開發(fā)搭建,包河網(wǎng)站營銷推廣歡迎包河等地區(qū)企業(yè)咨詢

1、棧內(nèi)存用來存放基本類型的變量和引用變量,堆內(nèi)存用來存儲java中的對象,無論是成員變量,局部變量,還是類變量,他們指向的對象都存儲在堆內(nèi)存中。

2、棧內(nèi)存歸屬于單個線程,每個線程都會有一個棧內(nèi)存,其存儲的變量只能在其所屬的線程中可見,即棧內(nèi)存可以理解成線程的私有內(nèi)存;堆內(nèi)存中的對象對所有線程可見。堆內(nèi)存中的對象可以被所有線程訪問。

3、如果棧內(nèi)存沒有可用的空間存儲方法調(diào)用和局部變量,JVM會拋出java.lang.stackoverflowerror 錯誤;如果是堆內(nèi)存內(nèi)有可用的空間存儲生成的對象,jvm會拋出java.lang.outofmemoryerror錯誤。

3、棧的內(nèi)存要遠(yuǎn)遠(yuǎn)小于堆內(nèi)存,如果你使用遞歸的話,那么你的棧會很快充滿。-Xss設(shè)置每個線程堆棧內(nèi)存的大小  -Xms可以設(shè)置堆內(nèi)存開始時的大小。

總結(jié):

JVM 中堆和棧屬于不同的內(nèi)存區(qū)域,使用目的也不同。棧常用于保存方法幀和局部變量,而對象總是在堆上分配。棧通常都比堆小,也不會在多個線程之間共享,而堆被整個 JVM 的所有線程共享。

以上就是java中堆內(nèi)存與棧內(nèi)存的區(qū)別的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!


本文題目:java中堆內(nèi)存與棧內(nèi)存的區(qū)別是什么?
路徑分享:http://weahome.cn/article/jdghds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部