Oracle JRockit VM Java堆:2個不同的內存空間
-Java堆(YoungGen和OldGen)
-本機內存空間(類池,C堆,線程…)

PermGen空間在哪里?
與IBM VM類似,JRockit VM沒有PermGen空間。 PermGen空間僅適用于HotSpot VM。 JRockit VM使用本機堆用于類元數據相關數據。 另外,正如您可能從我的其他文章中看到的那樣,Oracle Sun也開始刪除HotSpot VM的PermGen空間。
為什么JRockit VM Java進程比HotSpot VM使用更多的內存?
JRockit VM傾向于使用更多的本機內存來換取更好的性能。 JRockit沒有解釋模式(僅編譯),因此,由于其額外的本機內存需求,進程大小傾向于使用比等效Sun JVM大小大數百MB的大小。 除非您使用具有大量Java堆要求的32位JRockit,否則這應該不是什么大問題。 在這種情況下,對于JRockit VM,由于本機堆耗盡而導致OutOfMemoryError的風險更高(例如,對于32位VM,Java堆越大,留給本機堆的內存越小)。
Oracle對JRockit的計劃是什么?
當前的Oracle JVM策略是將HotSpot和JRockit產品線合并到一個JVM項目中,該項目將包括每個VM的最佳功能。 這也將簡化JVM調優,因為目前無法理解這兩個VM之間的差異可能會導致調優建議和性能問題。
請隨時在JRockit VM上發表任何評論或問題。
Java堆空間– IBM VM
這篇簡短的文章將為您提供有關IBM VM的不同Java內存空間的高級概述。
考慮到HotSpot與IBM VM之間在實現和命名約定方面的差異,這種理解非常重要。
IBM VM:2個不同的內存空間
IBM VM內存分為2個內存空間:
– Java堆(療養院和保育空間)
–原生堆(C-Heap)

PermGen空間在哪里?
到目前為止,這是我第一次從支持Java VM的Java EE支持人員那里得到最典型的問題。 答案:IBM VM沒有PermGen空間。 PermGen空間僅適用于HotSpot VM。 IBM VM正在使用本機堆用于類元數據相關數據。 另外,正如您可能從我的其他文章中看到的那樣,Oracle / Sun也開始刪除HotSpot VM的PermGen空間。
下一篇文章將為您提供有關如何為IBM VM啟用和分析詳細GC的教程。 請隨時在IBM VM上發表任何評論或問題。
參考: Java EE支持模式和Java教程博客中的JCG合作伙伴 Pierre-Hugues Charbonneauat的Java Heap Space – JRockit VM和Java Heap Space – IBM VM 。
翻譯自: https://www.javacodegeeks.com/2012/04/java-heap-space-jrockit-and-ibm-vm.html