【Java】java命令使用

1.Java命令

 启动一个Java应用,Launches a Java application,具体可以用man java查看使用方法。

java [options] classname [args]
java [options] -jar filename [args]

options是传递给VM的参数,args是传递给java main方法的参数

1.1 选项options

1.1.1 标准选项

选项 作用 样例

-server

-client

指定以哪种模式运行,64bit默认以server模式  
-classpath、-cp 指定类文件搜索路径  
-D<名称>=<值>

设置系统属性

 

 -jar filename

执行打成jar包的应用程序  
-verbose:[class|gc|jni] 现实详细信心,如类、垃圾回收时间、本地方法调用  

-agentlib:<libname>[=<选项>]

加载本机代理库 如 -agentlib:jdwp=help

 

1.1.2 非标准选项 -X

java -X查看非标准选项

非标准选项 作用 样例
-Xms<size> 设置初始 Java 堆大小 memory size  
-Xmx<size> 设置最大 Java 堆大小 memory max size  
-Xss<size>   设置 Java 线程堆栈大小 stack size  

1.1.3 高级运行时选项 -XX

行为参数(功能开关)
                -XX:-DisableExplicitGC    禁止调用System.gc();但jvm的gc仍然有效
                -XX:+MaxFDLimit    最大化文件描述符的数量限制
                -XX:+ScavengeBeforeFullGC    新生代GC优先于Full GC执行
                -XX:+UseGCOverheadLimit    在抛出OOM之前限制jvm耗费在GC上的时间比例
                -XX:-UseConcMarkSweepGC    对老生代采用并发标记交换算法进行GC
                -XX:-UseParallelGC    启用并行GC
                -XX:-UseParallelOldGC    对Full GC启用并行,当-XX:-UseParallelGC启用时该项自动启用
                -XX:-UseSerialGC    启用串行GC
                -XX:+UseThreadPriorities    启用本地线程优先级
            性能调优
                -XX:LargePageSizeInBytes=4m    设置用于Java堆的大页面尺寸
                -XX:MaxHeapFreeRatio=70    GC后java堆中空闲量占的最大比例
                -XX:MaxNewSize=size    新生成对象能占用内存的最大值
                -XX:MaxPermSize=64m    老生代对象能占用内存的最大值
                -XX:MinHeapFreeRatio=40    GC后java堆中空闲量占的最小比例
                -XX:NewRatio=2    新生代内存容量与老生代内存容量的比例
                -XX:NewSize=2.125m    新生代对象生成时占用内存的默认值
                -XX:ReservedCodeCacheSize=32m    保留代码占用的内存容量
                -XX:ThreadStackSize=512    设置线程栈大小,若为0则使用系统默认值
                -XX:+UseLargePages    使用大页面内存
            调试参数
                -XX:-CITime    打印消耗在JIT编译的时间
                -XX:ErrorFile=./hs_err_pid<pid>.log    保存错误日志或者数据到文件中
                -XX:-ExtendedDTraceProbes    开启solaris特有的dtrace探针
                -XX:HeapDumpPath=./java_pid<pid>.hprof    指定导出堆信息时的路径或文件名
                -XX:-HeapDumpOnOutOfMemoryError    当首次遭遇OOM时导出此时堆中相关信息
                -XX:OnError="<cmd args>;<cmd args>"    出现致命ERROR之后运行自定义命令
                -XX:OnOutOfMemoryError="<cmd args>;<cmd args>"    当首次遭遇OOM时执行自定义命令
                -XX:-PrintClassHistogram    遇到Ctrl-Break后打印类实例的柱状信息,与jmap -histo功能相同
                -XX:-PrintConcurrentLocks    遇到Ctrl-Break后打印并发锁的相关信息,与jstack -l功能相同
                -XX:-PrintCommandLineFlags    打印在命令行中出现过的标记
                -XX:-PrintCompilation    当一个方法被编译时打印相关信息
                -XX:-PrintGC    每次GC时打印相关信息
                -XX:-PrintGC Details    每次GC时打印详细信息
                -XX:-PrintGCTimeStamps    打印每次GC的时间戳
                -XX:-TraceClassLoading    跟踪类的加载信息
                -XX:-TraceClassLoadingPreorder    跟踪被引用到的所有类的加载信息
                -XX:-TraceClassResolution    跟踪常量池
                -XX:-TraceClassUnloading    跟踪类的卸载信息
                -XX:-TraceLoaderConstraints    跟踪类加载器约束的相关信息

  • 高级JIT编译器选项
  • 高级垃圾收集选项
发布了92 篇原创文章 · 获赞 14 · 访问量 5819

猜你喜欢

转载自blog.csdn.net/sarafina527/article/details/103727576