程序計(jì)數(shù)器
線程私有铐姚,線程執(zhí)行的字節(jié)碼的行號(hào)
虛擬機(jī)棧
線程私有,生命周期與線程相同。每個(gè)方法執(zhí)行的時(shí)候都會(huì)創(chuàng)建一個(gè)棧幀(stack frame)用于存放 局部變量表、操作棧铃肯、動(dòng)態(tài)鏈接、方法出口传蹈。
本地方法棧
native關(guān)鍵字
方法區(qū)
線程共享押逼,存儲(chǔ)類加載信息、常量惦界、靜態(tài)變量等
堆
線程共享挑格,生命周期與虛擬機(jī)相同。存放對(duì)象實(shí)例沾歪,所有的對(duì)象的內(nèi)存都在這里分配恕齐。垃圾回收主要區(qū)域。
- 堆得內(nèi)存由-Xms指定,默認(rèn)是物理內(nèi)存的1/64显歧;最大的內(nèi)存由-Xmx指定,默認(rèn)是物理內(nèi)存的1/4确镊。
- 默認(rèn)空余的堆內(nèi)存小于40%時(shí)士骤,就會(huì)增大,直到-Xmx設(shè)置的內(nèi)存蕾域。具體的比例可以由-XX:MinHeapFreeRatio指定
- 空余的內(nèi)存大于70%時(shí)拷肌,就會(huì)減少內(nèi)存,直到-Xms設(shè)置的大小旨巷。具體由-XX:MaxHeapFreeRatio指定巨缘。