關于Java堆的10個要點
1. Java堆內存是由操作系統分配給JVM的內存部分。
2. Java的對象是在堆中創建
3. Java堆空間為了垃圾回收分為三個區域或代,叫做新代,年老代和永久代。在Hotspot JVM中永久代在full gc時被垃圾回收。
4. 您 可以使用JVM命令行選項-XMS,-Xmx和-Xmn為增加或改變Java堆空間的大小。不要忘了指定的大小來表示兆??或千兆后需添加單詞“M”或 “G”。例如,你可以通過執行命令java -Xmx256M HelloWord來設置Java堆大小為256MB。
5. 您可以使用JConsole或Runtime.maxMemory(),Runtime.totalMemory(),Runtime.freeMemory()查詢有關Java堆大小的方案。
6. 在Java中您可以使用命令jmap來獲取heap dump,并使用jhat來分析這個heap dump。
7. Java堆空間不同于堆棧,堆棧用來存儲調用層次和局部變量。
8. Java垃圾回收器負責從死對象中回收內存,并返回到Java堆空間。
9. 當你得到java.lang.OutOfMemoryError不要驚慌,有時它只是增加堆的大小,但如果它復發那就要看看是否有Java內存泄漏。
10. 使用Profiler和Heap Dump Analyzer工具來了解Java堆空間和如何給每個對象分配多少內存。
來自:http://c.blog.sina.com.cn/profile.php?blogid=756e076389000s6g 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!