permgen space什么意思 頁面提示permgen space是什么意思?
頁面提示permgen space是什么意思?permgen space的全稱是permanent generation space,指內(nèi)存的永久存儲(chǔ)區(qū)。這個(gè)內(nèi)存主要被JVM用來存儲(chǔ)類和元信息。當(dāng)類被
頁面提示permgen space是什么意思?
permgen space的全稱是permanent generation space,指內(nèi)存的永久存儲(chǔ)區(qū)。這個(gè)內(nèi)存主要被JVM用來存儲(chǔ)類和元信息。當(dāng)類被加載時(shí),它將被放入永久空間。它與存儲(chǔ)類實(shí)例的頭區(qū)域不同。GC(垃圾收集)不會(huì)在主程序運(yùn)行期間存儲(chǔ)permgen空間,因此如果應(yīng)用程序中有很多類,則可能會(huì)出現(xiàn)permgen空間錯(cuò)誤,這在web服務(wù)器預(yù)編譯JSP時(shí)很常見。如果您的web應(yīng)用中使用了大量第三方j(luò)ar,并且它們的大小超過了JVM的默認(rèn)大小(4m),那么將生成此錯(cuò)誤消息。
myeclipse中java.lang.OutOfMemoryError:PermGenspace怎么解決?
解決方案是增加內(nèi)存。
1. permgen空間的全稱是permanent generation space,是指內(nèi)存的永久存儲(chǔ)區(qū)域。Outofmemoryerror:從表面上看,permgen空間是內(nèi)存的好處,解決方法必須是增加內(nèi)存。
2. 為什么內(nèi)存有好處:這部分用來存儲(chǔ)類和元信息。類在加載時(shí)被放入永久空間區(qū)域。它不同于存儲(chǔ)實(shí)例的堆區(qū)域。GC(垃圾回收)在主程序運(yùn)行期間不會(huì)清理permgen空間,因此如果您的應(yīng)用程序?qū)⒓虞d許多類,permgen空間很可能出現(xiàn)空間錯(cuò)誤。這種錯(cuò)誤在web服務(wù)器預(yù)編譯JSP時(shí)很常見。如果您的web應(yīng)用中使用了大量第三方j(luò)ar,并且它們的大小超過了JVM的默認(rèn)大?。?m),那么將生成此錯(cuò)誤消息。
3. 解決方案:手動(dòng)設(shè)置maxpermsize并修改TomcatHOME/bin/卡塔琳娜.sh在“echo”中使用catalog BASE:$CATALINA將以下行添加到BASE:Java OPTS=“-server-XX:PermSize=64M-XX:MaxPermSize=128m.
4。建議:將相同的第三方j(luò)ar文件移到Tomcat/shared/lib目錄下,以減少jar文檔對內(nèi)存的重復(fù)占用。
5. 有幾個(gè)原因:(1)使用Proxool,因?yàn)镻roxool包含一個(gè)舊版本的cglib。
(2)Log4j。最好不要使用普通日志記錄。
(3)舊版本的cglib,快速更新到最新版本。
Java的哪個(gè)語法特性讓你覺得寫Java代碼很享受?
我在日常生活中使用的主要語言是C#和Java。在語法方面,寫C#更有趣。主要原因是C#有更多的語法糖,而且LINQ非常容易使用。其次,visualstudio被稱為世界上第一個(gè)ide。但個(gè)人更喜歡Java。
從java8出來后,我覺得Java正在追趕C#,Java和C#的語法越來越相似(原來很相似,哈哈)。這里有一些比較。
在java8中添加lambda表達(dá)式后,我感覺越來越像C。
1. 當(dāng)然,首先要看收入。在中國,基本上沒有使用C的大公司。最初,攜程在使用它,但后來,它也轉(zhuǎn)向了Java。
2. 從技術(shù)的角度來看,有很多優(yōu)秀的框架可以使用,因?yàn)镴ava可以制造很多輪子。在實(shí)際項(xiàng)目中你遇到問題,別人一定遇到過,能找到問題的關(guān)鍵。
3. 從生態(tài)學(xué)的角度來看,Java無疑是最好的選擇之一,因?yàn)樗拈_源較早,建立生態(tài)學(xué)的時(shí)間也較早。
4. 在性能方面,sun/Oracle熱點(diǎn)JVM內(nèi)置的JIT編譯器在運(yùn)行時(shí)對字節(jié)碼進(jìn)行了優(yōu)化。如果它不是一個(gè)性能敏感的應(yīng)用程序,Java就足夠了。
謝謝。