Java虛擬機(jī)在執(zhí)行Java程序的過(guò)程中會(huì)把它所管理的內(nèi)存劃分為若干個(gè)不同的數(shù)據(jù)區(qū)域。這些區(qū)域的用途各不相同,同時(shí)也依據(jù)著各自的執(zhí)行規(guī)則,獨(dú)立的創(chuàng)建和銷毀數(shù)據(jù)。
虛擬機(jī)內(nèi)存的劃分,如圖所示:
線程之間互相獨(dú)立的區(qū)域有:
虛擬機(jī)棧 、本地方法棧、程序計(jì)數(shù)器
線程可以共享數(shù)據(jù)的區(qū)域:
方法區(qū) 、堆