我正在開發標準電梯平臺(maven和碼頭)。我反覆得到這個(每對夫婦一次天):PermGen與電梯和碼頭問題
Exception in thread "[email protected]" java.lang.OutOfMemoryError: PermGen space
2009-09-15 19:41:38.629::WARN: handle failed
java.lang.OutOfMemoryError: PermGen space
這是在我的開發環境。這不是問題,因爲我可以繼續重新啓動服務器。在部署中,我沒有這些問題,所以它不是一個真正的問題。我只是好奇。
我不太瞭解JVM。我認爲我認爲永久世代記憶是用於類和字符串之類的東西是正確的嗎?我記得有點與.NET內存模型混在一起...
任何這種情況發生的原因?默認值是瘋狂的低?它與Scala必須爲函數對象和類似的FP事物創建的所有輔助對象有關嗎?每次我用新編寫的代碼重新啓動Jetty(每隔幾分鐘),我想它會重新加載類等等。但即便如此,它不可能是那麼多嗎? JVM不應該能夠處理大量的類嗎?
乾杯
喬
正如https://web.archive.org/web/20150105090518/http://www.scala-blogs.org/2007/12/scala-statically-typed-dynamic-language提及。 HTML文章:「JVM的代垃圾收集器對這樣的情況進行了優化,因爲隱式創建的對象是短命的,他們會GC非常漂亮。」但如果這些對象不是短命的,那是另一回事。 – VonC 2009-09-20 18:49:08