蚌埠網(wǎng)站制作哪家好沈陽(yáng)seo
java內(nèi)存主要分為棧和堆,方法相關(guān)的部分主要在棧內(nèi)存里,每個(gè)方法調(diào)用時(shí)會(huì)在棧里創(chuàng)建一個(gè)棧幀,存放局部變量和方法執(zhí)行的信息。執(zhí)行完后棧幀被銷(xiāo)毀,局部變量消失。而對(duì)象實(shí)例存在堆里,由垃圾回收器管理。
**Java方法內(nèi)存原理の擼串版:** ?
- 你每喊一次方法(比如“老板,來(lái)份烤腰子!”),JVM就掏個(gè)小本本(**棧內(nèi)存**)記下:當(dāng)前烤到第幾串、辣椒粉撒沒(méi)撒(**局部變量**)。 ?
- 方法烤完(執(zhí)行完),小本本直接撕了扔火堆,辣不辣都成灰(**棧幀銷(xiāo)毀**)。 ?
- 但如果你瘋狂遞歸喊“再加10串!”……老板的小本本摞成山,手一抖全撒地溝油里——這就是**棧溢出**(StackOverflowError)! ?
**對(duì)象這種硬菜?直接扔后廚大冰柜(堆內(nèi)存)**,誰(shuí)想吃自己拿夾子取(引用),后廚老王(**GC垃圾回收**)半夜偷偷扔餿了的菜(沒(méi)人引用的對(duì)象)。 ?