我们经常指定服务器的初始内存与最大内存,当我们运行某个具体的java类时如何指定内存呢 ?
检查今天统计有部分数据没提取完,查后台日志发现有内存溢出
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at oracle.sql.NUMBER.toString(NUMBER.java:889)
at oracle.sql.NUMBER.stringValue(NUMBER.java:2072)
于是想到了给提数程序多分点内存。
D:/workspace/>java -X help
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
The -X options are non-standard and subject to change without notice.
D:/workspace/>java -Xms1024M -Xmx1024m TestRun
totalMemory=1065484288
freeMemory=1064163064
maxMemory=1065484288