问题
我知道PermGen是什么,它用于什么,它失败的原因,如何增加它等等。
我不知道的是PermGen实际上代表什么。永久...... Gen ...什么?
有谁知道PermGen实际上代表什么?
#1 热门回答(77 赞)
永久代。详细信息当然是特定于实现的。
简而言之,它包含与类和实习字符串相关联的Java对象。在Sun的客户端实现中共享,classes.jsa
是内存映射形成初始数据,大约一半是只读,一半是写入时。
仅旧的Java对象保留在Tenured Generation中。
#2 热门回答(55 赞)
JVM使用PermGen来保存加载的类。你可以使用以下方法增加它-XX:MaxPermSize=384m
如果你使用的是Sun JVM或OpenJDK。
因此,如果你得到一个OutOfMemoryException:PermGen你需要使PermGen更大或者你可能遇到类加载器问题。
#3 热门回答(20 赞)
永久代。有关垃圾收集器的更多详细信息,请参阅javaGC tuning guide。