澶辨晥閾炬帴澶勭悊 |
Java寮€鍙戝繀澶囷細(xì)娣卞叆鎺㈣JVM鏋舵瀯銆佸唴瀛樼鐞嗗拰鍨冨溇鍥炴敹鏈哄埗 PDF 涓嬭澆
杞澆鑷細(xì)http://java.python222.com/article/1963
鐩稿叧鎴浘錛?/strong>
![]()
涓昏鍐呭錛?/strong>
1. JVM 榪愯鏃跺唴瀛樼粨鏋?/strong>
1.鐢卞涓嬪浘鏋勬垚銆?/span>Runtime Data Area 鏈夊涓嬪嚑涓尯錛屽叾涓?nbsp;PC 紼嬪簭璁℃暟鍣ㄣ€佽櫄鎷熸満鏍?/span>
鍜屾湰鍦版柟娉曟爤鏄嚎紼嬬嫭浜殑錛屽爢鍜屾柟娉曞尯鏄嚎紼嬪叡浜殑銆?/span>Classload 鐢ㄦ潵鍔犺澆 class 鏂?/span>
浠訛紝鎵ц寮曟搸鐢ㄦ潵鎵ц紼嬪簭錛屾湰鍦版柟娉曟帴鍙h皟鐢ㄦ湰鍦版柟娉曞簱銆?/span>
2.java stack 姣旇緝綆€鍗曪紝姣忎竴涓兘鏄竴涓爤甯э紝姣忎釜鏍堝撫鐢變笁閮ㄥ垎鏋勬垚銆傚眬閮ㄥ彉閲忓尯銆?/span>
鎿嶄綔鏁板尯鍜屽撫鏁版嵁鍖恒€傚眬閮ㄥ彉閲忔槸涓€涓互鏁扮粍褰㈠紡綆$悊鐨勫唴瀛樺尯錛屼竴鑸 0 浣嶆槸鎸囧悜
鑷繁鐨?nbsp;this 寮曠敤錛涘叾浠栫殑閮芥槸鍩烘湰鏁版嵁綾誨瀷鍜?nbsp;reference 綾誨瀷鍜?nbsp;returnedAddress 綾誨瀷銆?/span>
鎿嶄綔鏁板尯涓嶆槸閫氳繃绱㈠紩鏉ヨ闂紝閫氳繃鍏ユ爤鍑烘爤鏉ヨ闂紝鏄復(fù)鏃舵暟鎹殑瀛樺偍鍖哄煙錛屾瘮鏂?/span>
璇存暟瀛﹁綆椼€傚撫鏁版嵁鍖烘槸淇濆瓨涓€浜涙寚鍚戝父閲忔睜鐨勬寚閽堬紝闇€瑕佸父閲忔暟鎹椂灝遍€氳繃榪欎釜鎸?/span>
閽堟潵璁塊棶甯擱噺姹犳暟鎹€?/span>
3. 鍏變韓鍐呭瓨鍖猴細(xì)鍒嗕負(fù) permanent space銆?/span>old space銆?/span>From survivor銆?/span>To survivor 鍜?/span>
Eden銆傚叾涓?nbsp;premanent 鍖呮嫭 runtime constant pool 鍜屽凡鍔犺澆鐨勭被淇℃伅鍜屾柟娉曚俊鎭€?/span>
Old space錛?/span>tenured generation錛夊寘鍚敓鍛藉懆鏈熼暱鐨勫瓨?gòu)z誨璞°€?/span>From survivor 鍜?nbsp;Eden
瀛樻斁瀛樻椿姣旇緝鐭殑瀵硅薄錛?/span>To survivor 鏄敤鏉ュ鍒朵繚瀛樺瓨?gòu)z葷殑瀵硅薄銆?/span>
|