1、java启动参数共分为三类;

其一是标准参数 (-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;
其二是非标准参数 (-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
其三是非Stable参数 (-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;

2、在使用命令java和javaw时,命令行格式如下,其中"argument"部分就可以设置一些参数。

java [ options ] class [ argument ... ]
    java [ options ] -jar file.jar [ argument ... ]
    javaw [ options ] class [ argument ... ]
    javaw [ options ] -jar file.jar [ argument ... ]
这里,跟内存使用相关的参数主要有三个:Xmx, Xms,Xss。
参考资料2中提供了这三个参数的相关说明。

Xms 是指设定程序启动时占用内存大小。一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢。

Xmx 是指设定程序运行期间最大可占用的内存大小。如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常。

Xss 是指设定每个线程的堆栈大小。这个就要依据你的程序,看一个线程大约需要占用多少内存,可能会有多少线程同时运行等。

以上三个参数的设置都是默认以Byte为单位的,也可以在数字后面添加[k/K]或者[m/M]来表示KB或者MB。而且,超过机器本身的内存大小也是不可以的,否则就等着机器变慢而不是程序变慢了。因此,对于一般的java应用程序来讲,我们只要把前两个参数设置合适基本上就可以了。第三个参数还是需要有很强的

05-28 12:53