站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        java中棧內(nèi)存和堆內(nèi)存有什么區(qū)別

        java中棧內(nèi)存和堆內(nèi)存有什么區(qū)別

        棧內(nèi)存和堆內(nèi)存的區(qū)別:

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

        (視頻教程推薦:java視頻)

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

        總結(jié):

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

        推薦教程:java開發(fā)入門

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 精品成人免费自拍视频| 精品水蜜桃久久久久久久| 国产精品无码永久免费888 | 亚洲国产另类久久久精品黑人 | 精品国产欧美一区二区| 四虎国产成人永久精品免费| 久久精品国产精品亚洲人人| 四虎影视国产精品亚洲精品hd | 精品无码人妻一区二区三区 | 国产精品亚洲片在线观看不卡| 无码AV动漫精品一区二区免费| 国产午夜精品理论片免费观看| 国产精品1024香蕉在线观看| 国精品无码一区二区三区左线| 亚洲精品蜜桃久久久久久| 欧美成人精品网站播放 | 99精品视频在线观看婷| 久久99国产精品久久99果冻传媒| 精品国产第一国产综合精品 | 久久噜噜久久久精品66| 国产精品一级AV在线播放| 99精品国产一区二区| 国产高清精品一区| 99热热久久这里只有精品68| 99久久国产综合精品网成人影院 | 国产亚洲精品拍拍拍拍拍| 国产成人无码精品一区在线观看| 国产成人精品高清不卡在线| 99riav国产精品| 国产精品综合久久第一页| 国产精品秘入口福利姬网站| 国产亚洲精品资在线| 久久久91人妻无码精品蜜桃HD | 99re久久精品国产首页2020| 99国产精品国产精品九九| 精品999久久久久久中文字幕 | 99久久99久久精品国产片果冻| 国产精品久久久久一区二区三区| 国产精品亚洲专区无码WEB| 久久久久人妻一区精品| 亚洲精品老司机在线观看|