java方法區
【名詞解析】
--->和java堆一樣,方法區是一塊所有線程共享的內存區域。
--->保存系統的類信息,比如,類的字段,方法,常量池等。
--->方法區的大小決定了系統可以保存多少個類,如果系統定義了太多的類,導致方法區溢出,虛擬機同樣會拋出內存溢出的錯誤
--->jdk1.6和jdk1.7方法區可以理解為永久區。
--->jdk1.8已經將方法區取消,替代的是元數據區。
--->jdk1.8的元數據區可以使用參數-XX:MaxMetaspaceSzie設定大小,這是一塊堆外的直接內存,與永久區不同,如果不指定大小,默認情況下,虛擬機會耗盡可用系統內存
【參數設定】
--->jdk1.6和jdk1.7的永久區可以使用參數-XX:PermSize 和-XX:MaxPermSize指定
--->-XX:PermSize =5m 默認啟動大小為5M
--->-XX:MaxPermSize=64m 最大大小為64M
【異常】
--->
--->jdk1.8元數據區內存溢出:java.lang.OutOfMemoryError:Metaspace