站長資訊網(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號
        主站蜘蛛池模板: 国产区精品高清在线观看| 亚洲综合一区二区精品导航 | 国产成人精品一区二区三区免费| 久久99精品国产99久久6| 亚洲国产精品国产自在在线| 久久综合精品国产二区无码| 99久久免费国产精品| 亚洲精品高清无码视频| 999在线视频精品免费播放观看 | 亚洲无线观看国产精品| 国内精品伊人久久久久AV影院| 日本免费精品一区二区三区 | 人妻少妇精品久久| 精品午夜福利在线观看| 亚洲精品福利视频| 中文精品99久久国产| 亚洲线精品一区二区三区| 国产精品久久午夜夜伦鲁鲁| 午夜精品久久影院蜜桃| 99精品一区二区三区无码吞精 | 91亚洲国产成人久久精品网址| 91精品国产91久久久久福利| 久久精品人人槡人妻人人玩AV| 亚洲国产精品VA在线观看麻豆| 亚洲午夜福利精品无码| 亚洲国产精品无码专区影院 | 在线成人精品国产区免费| 久久精品国产清自在天天线| 国产福利电影一区二区三区久久久久成人精品综合 | 久久精品无码专区免费青青| 九九精品99久久久香蕉| 国产欧美日韩精品专区| 久久久久免费精品国产| 日韩精品一区二区午夜成人版| 欧美精品福利视频| 欧美成人精品欧美一级乱黄一区二区精品在线| 精品少妇人妻av无码久久| 精品一区二区无码AV| 午夜精品久久影院蜜桃| 国产麻豆精品久久一二三| 久久精品国产精品亚洲下载|