java主要是什么 java heap space什么意思?
java heap space什么意思?使用java程序從數(shù)據(jù)庫查詢大量數(shù)據(jù)時(shí)發(fā)生異常:java.lang.OutOfMemoryError錯(cuò)誤:如果98%的時(shí)間花在GC上,并且可用堆大小小于2%,J
java heap space什么意思?
使用java程序從數(shù)據(jù)庫查詢大量數(shù)據(jù)時(shí)發(fā)生異常:java.lang.OutOfMemoryError錯(cuò)誤:如果98%的時(shí)間花在GC上,并且可用堆大小小于2%,JVM中的Java堆空間將引發(fā)此異常。JVM堆的設(shè)置是指在Java程序運(yùn)行過程中JVM可以分配和使用的內(nèi)存空間的設(shè)置。堆大小的值將在JVM啟動(dòng)時(shí)自動(dòng)設(shè)置。初始空間(即-XMS)是物理內(nèi)存的1/64,最大空間(-Xmx)是物理內(nèi)存的1/4??梢允褂肑VM提供的-XMN-XMS-Xmx和其他選項(xiàng)進(jìn)行設(shè)置。例如:Java-Jar-xmn16m-xms64m-xmx128m我的應(yīng)用程序.jar如果堆大小設(shè)置太小,除了這些異常信息外,程序的響應(yīng)速度也會(huì)比較慢。GC占用更多的時(shí)間,而應(yīng)用程序分配的執(zhí)行時(shí)間更少。最大堆大小不應(yīng)超過可用物理內(nèi)存的80%。通常,-XMS和-Xmx的選項(xiàng)應(yīng)該設(shè)置為相同,-XMN應(yīng)該是-Xmx的1/4。堆大小的-XMS-XMN設(shè)置不應(yīng)超過物理內(nèi)存的大小。否則會(huì)提示“初始化VM時(shí)出錯(cuò),無法為對(duì)象堆保留足夠的空間”。