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