資源描述:
《常見(jiàn)java錯(cuò)誤處理方法js錯(cuò)誤處理.doc》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、Java虛擬機(jī)報(bào)錯(cuò)常見(jiàn)情況(1)、手動(dòng)設(shè)置了JVM內(nèi)存,但是由于主機(jī)配置的不同,可用內(nèi)存有時(shí)高有時(shí)低,結(jié)果報(bào)錯(cuò)比如:主機(jī)內(nèi)存2G,開(kāi)了個(gè)jboss-500M,這時(shí)候可用內(nèi)存是15001、OraclesqlDevolper報(bào)錯(cuò)jvm.dll今日升級(jí)OracleSQLdeveloper為2.1。發(fā)生一個(gè)錯(cuò)誤如圖:說(shuō)明是虛擬機(jī)無(wú)法創(chuàng)建。根據(jù)以前eclipse出現(xiàn)過(guò)類(lèi)似的問(wèn)題推斷應(yīng)該是虛擬機(jī)參數(shù)設(shè)置有問(wèn)題然后搜索OracleSQLdeveloper下所有的問(wèn)題,看哪一個(gè)像是設(shè)置參數(shù)的。找到了這個(gè)文件ide.conf這個(gè)文件位于安裝路徑下的ide文件夾下的b
2、in里面。如圖所示修改其中的AddVMOption屬性參數(shù)如圖:2、JVM內(nèi)存設(shè)置與查看1、設(shè)置環(huán)境變量setJAVA_OPTS=-Xms32m-Xmx512m可以根據(jù)自己機(jī)器的內(nèi)存進(jìn)行更改。2、設(shè)置Tomcat的JVM內(nèi)存修改TOMCAT_HOME/bin/catalina.sh在“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行:JAVA_OPTS="-server-XX:PermSize=64M-XX:MaxPermSize=128m建議:將相同的第三方j(luò)ar文件移置到tomcat/shared/
3、lib目錄下,這樣可以達(dá)到減少jar文檔重復(fù)占用內(nèi)存的目的。2、JVM相關(guān)網(wǎng)摘java.lang.OutOfMemoryError:Javaheapspace+myeclipse中分配tomcat啟動(dòng)時(shí)所占內(nèi)存大小這個(gè)問(wèn)題主要還是由這個(gè)問(wèn)題java.lang.OutOfMemoryError:Javaheapspace引起的。第一次出現(xiàn)這樣的的問(wèn)題以后,引發(fā)了其他的問(wèn)題。在網(wǎng)上一查可能是JAVA的堆棧設(shè)置太小的原因。跟據(jù)網(wǎng)上的答案大致有這兩種解決方法:1、設(shè)置環(huán)境變量setJAVA_OPTS=-Xms32m-Xmx512m可以根據(jù)自己機(jī)器的內(nèi)存進(jìn)行
4、更改。2、java-Xms32m-Xmx800mclassName就是在執(zhí)行JAVA類(lèi)文件時(shí)加上這個(gè)參數(shù),其中className是需要執(zhí)行的確類(lèi)名。(包括包名)這個(gè)解決問(wèn)題了。而且執(zhí)行的速度比沒(méi)有設(shè)置的時(shí)候快很多。如果在測(cè)試的時(shí)候可能會(huì)用Eclispe這時(shí)候就需要在Eclipse->run-arguments中的VMarguments中輸入-Xms32m-Xmx800m這個(gè)參數(shù)就可以了。后來(lái)在Eclilpse中修改了啟動(dòng)參數(shù),在VMarguments加入了-Xms32m-Xmx800m,問(wèn)題解決。一、java.lang.OutOfMemoryErr
5、or:PermGenspacePermGenspace的全稱(chēng)是PermanentGenerationspace,是指內(nèi)存的永久保存區(qū)域,這塊內(nèi)存主要是被JVM存放Class和Meta信息的,Class在被Loader時(shí)就會(huì)被放到PermGenspace中,它和存放類(lèi)實(shí)例(Instance)的Heap區(qū)域不同,GC(GarbageCollection)不會(huì)在主程序運(yùn)行期對(duì)PermGenspace進(jìn)行清理,所以如果你的應(yīng)用中有很多CLASS的話(huà),就很可能出現(xiàn)PermGenspace錯(cuò)誤,這種錯(cuò)誤常見(jiàn)在web服務(wù)器對(duì)JSP進(jìn)行precompile的時(shí)候。
6、如果你的WEBAPP下都用了大量的第三方j(luò)ar,其大小超過(guò)了jvm默認(rèn)的大小(4M)那么就會(huì)產(chǎn)生此錯(cuò)誤信息了。解決方法:手動(dòng)設(shè)置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh在“echo"UsingCATALINA_BASE:$CATALINA_BASE"”上面加入以下行:JAVA_OPTS="-server-XX:PermSize=64M-XX:MaxPermSize=128m建議:將相同的第三方j(luò)ar文件移置到tomcat/shared/lib目錄下,這樣可以達(dá)到減少jar文檔重復(fù)占用內(nèi)存的目的。二、jav
7、a.lang.OutOfMemoryError:JavaheapspaceHeapsize設(shè)置JVM堆的設(shè)置是指java程序運(yùn)行過(guò)程中JVM可以調(diào)配使用的內(nèi)存空間的設(shè)置.JVM在啟動(dòng)的時(shí)候會(huì)自動(dòng)設(shè)置Heapsize的值,其初始空間(即-Xms)是物理內(nèi)存的1/64,最大空間(-Xmx)是物理內(nèi)存的1/4。可以利用JVM提供的-Xmn-Xms-Xmx等選項(xiàng)可進(jìn)行設(shè)置。Heapsize的大小是YoungGeneration和TenuredGeneraion之和。提示:在JVM中如果98%的時(shí)間是用于GC且可用的Heapsize不足2%的時(shí)候?qū)伋龃水惓?/p>
8、信息。提示:HeapSize最大不要超過(guò)可用物理內(nèi)存的80%,一般的要將-Xms和-Xmx選項(xiàng)設(shè)置為相同,而-Xmn為1/