Java 运行环境及参数详解
Java 运行方式
Java 的运行可以通过以下命令实现:
shell
java [选项] 类名 [参数]
或者
shell
java [选项] -jar 文件名 [参数]
- 选项:命令行参数,以空格分隔。
- 类名:启动类的名称。
- 文件名:Jar 包的名称(JAR)。
- 参数:传递给
main()
方法的参数,以空格分隔。
main()
方法必须定义为 public static void main(String[] args)
形式。
若使用 -jar
选项,args
则是 JAR 包中包含的类。启动类需通过 Main-Class
属性在 manifest 文件中指定。
Java 运行选项
Java 提供了多种运行选项,分为以下几类:
标准选项
- -d32:使用 32 位环境运行。
- -d64:使用 64 位环境运行。
- -help/-?:显示帮助信息。
- -verbose:class:显示已加载的类。
- -verbose:gc:显示垃圾回收事件。
- -version:显示当前 Java 版本。
- -disableassertions[:[包名]…|:类名]:禁用断言。
- -disablesystemassertions/-dsa:禁用所有断言。
- -enableassertions[:[包名]…|:类名]:启用断言。
- -enablesystemassertions/-esa:启用所有断言。
- -server:选择 Java HotSpot Server VM。
- -D[property]=value:定义系统属性。
非标准选项
- -X:显示有效的
-X
选项的帮助信息。
- -Xbatch:禁用后台编译。
- -Xloggc:文件名:将垃圾回收信息重定向到指定文件。
- -Xmn:设置年轻代的初始值和最大值。
- -Xms:设置堆的初始值。
- -Xmx:指定最大内存大小。
- -Xss:设置线程栈的大小。
- -XX:MaxDirectMemorySize:设置最大直接内存大小。
- -XX:ThreadStackSize:设置线程栈大小。
高级选项
- -XX:+DisableAttachMechanism:禁用工具类。
- -XX:MaxDirectMemorySize:设置最大直接内存大小。
- -XX:ThreadStackSize:设置线程栈大小。
高级可用性选项
- -XX:+HeapDumpOnOutOfMemory:启用堆转储功能。
- -XX:HeapDumpPath:指定堆转储路径。
- -XX:LogFile:设置日志文件路径。
高级垃圾回收选项
- -XX:+AggressiveHeap:启用堆优化。
- -XX:+CMSClassUnloadingEnabled:启用类卸载。
- -XX:CMSInitiatingOccupancyFraction:设置老年代占用百分比。
- -XX:ConcGCThreads:设置垃圾回收线程数。
- -XX:ParallelGCThreads:设置并行垃圾回收线程数。
- -XX:+DisableExplicitGC:禁用显式垃圾回收。
- -XX:InitialHeapSize:设置初始堆大小。
- -XX:MaxHeapSize:设置最大堆大小。
- -XX:NewRatio:设置年轻代和老年代的比例。
- -XX:NewSize:设置年轻代的初始大小。
- -XX:+PrintGCDetails:打印垃圾回收详细信息。
- -XX:+PrintGCDateStamps:每次垃圾回收显示时间戳。
- -XX:+PrintGCApplicationStoppedTime:打印垃圾回收延迟时长。
- -XX:+UseConCMarkSweepGC:启用 CMS 垃圾回收器。
- -XX:+UseG1GC:启用 G1 垃圾回收器。
- -XX:+UseParallelGC:启用并行垃圾回收器。
- -XX:+UseParallelOldGC:启用并行旧代垃圾回收器。
- -XX:+UseParNewGC:启用并行年轻代垃圾回收器。
- -XX:+UseSerialGC:启用单线程垃圾回收器。
以上是 Java 运行环境及其参数的详细说明。希望这些信息对你有所帮助。