關於OutOfMemoryError,下面說法正確的是()?

題目

(多選)關於OutOfMemoryError,下面說法正確的是()?

A. java.lang.OutOfMemoryError: PermGen space 增加-XX:MaxPermSize這個參數的值的話,這個問題通常會得到解決。
B. java.lang.OutOfMemoryError: Requested array size exceeds VM limit當你正準備創建一個超過虛擬機允許的大小的數組時,這條錯誤將會出現
C. java.lang.OutOfMemoryError: Java heap space 一般情況下解決這個問題最快的方法就是通過-Xmx參數來增加堆的大小
D. java.lang.OutOfMemoryError: nativeGetNewTLA這個異常只有在jRockit虛擬機時纔會碰到

答案

A B C

解析

A:java.lang.OutOfMemoryError: PermGen space 屬於運行時常量池溢出,設置-XX:MaxPermSize可以解決。
B:java.lang.OutOfMemoryError: Requested array size exceeds VM limit 數組過長導致堆內存溢出,加大堆內存或減少數組長度。
C:java.lang.OutOfMemoryError: Java heap space堆內存不足,加大堆內存
D:java.lang.OutOfMemoryError: nativeGetNewTLA指當虛擬機不能分配新的線程本地空間(Thread Local Area)的時候錯誤信息,此錯誤是線程申請一個新的TLA時產生的,這個異常一般只會發生在jRockit虛擬機,只有過於絕對。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章