java命令行参数详解
共 2516字,需浏览 6分钟
·
2021-11-09 02:47
作为一个java程序员,我始终保持谦逊进取的态度去对待,始终重视基础知识的学习,我觉得工作久了势必需要一些工具在身边,我的老大老是diss我,说我能发现和解决问题,但是效率不高,那是因为我每次都面向百度编程,没有收集和整理工具的习惯,于是就有了本篇文章。
读完本篇文章你会了解到java命令参数的含义,并可初步使用java命令来更好的启动和创建我们的应用。
创建和编译应用
这里可以看到一些内置命令工具,我按使用程度对他们进行了排序:
java:Launches a Java application.,启动一个java应用比如java -jar
javac:Reads Java class and interface definitions and compiles them into bytecode and class files.,编译工具,将源代码编译成字节码或者class文件
javap:Disassembles one or more class files.,反汇编
javadoc:Generates HTML pages of API documentation from Java source files.java API文档生成工具
jar:Manipulates Java Archive (JAR) files.操作jar包的,jar包本质上也是zip文件。
jdb:Finds and fixes bugs in Java platform programs.java debug,有idea后几乎不用了。
java的命令行参数描述
这么多工具,我们主要来介绍java命令,文档里说明了:当我们使用java命令启动应用时,该应用就通过jre来加载特定的类,并调用main方法,该方法必须声明为 public 和 static,它不能返回任何值,并且它必须接受一个 String 数组作为参数。
java命令的选项参数
java命令给我们提供了非常多的命令参数,当然也有非常多的划分,但我认为主要是两种划分:第一种是按选项进行划分,第二种是按照使用环境区分,我们可以使用java命令来看下:
选项划分
标准选项:以“-”开头,比如-help -version,Java 虚拟机 (JVM) 的所有实现都保证支持标准选项。
非标准选项:以“-X”开头,特定于Java HotSpot 虚拟机的通用选项,因此不能保证所有 JVM 实现都支持它们,并且可能会发生变化。
高级选项:以“-XX”开头,这些是用于调整 Java HotSpot 虚拟机操作的特定区域的开发人员选项,这些区域通常具有特定的系统要求,并且可能需要对系统配置参数的特权访问。也不能保证所有 JVM 实现都支持它们,并且可能会发生变化。
布尔选项:用于启用默认禁用的功能或禁用默认启用的功能。此类选项不需要参数。布尔 -XX 选项使用加号 (-XX:+OptionName) 启用,使用减号 (-XX:-OptionName) 禁用。
使用环境划分
1.系统属性
java -D:设置属性值 java -D属性名 = 属性值 比如:java -Dfile.encoding=utf-8
2.运行模式
java -server 选择虚拟机模式,默认是“server” java虚拟机在启动应用时,启动器会对虚拟机模式进行检测,检测应用是否在服务器上的机器运行,如果是,那就以服务器的模式运行,目的是提高性能。
java虚拟机分为客户端模式和服务器模式,客户端模式下默认-Xms是1M,-Xmx是64M,适用于占用内存小,启动更快的产品,而服务端模式默认-Xms是128M,-Xmx是1024M,启动慢,但运行时性能和内存管理效率高,适用于生产环境。
java -Xmixed 混合模式执行 (默认)
java -Xint 仅解释模式执行
3.堆内存设置
-Xms 设置初始 Java 堆大小
-Xmx 设置最大 Java 堆大小
-Xss 设置 Java 线程堆栈大小
-Xms 设置初始 Java 堆大小
-Xmx 设置最大 Java 堆大小
-Xmn 设置最大java年轻代堆大小
复制代码
4.GC设置
-XX:+UseParallelGC
-XX:+UseParallelOldGC
-XX:+UseParNewGC
-XX:+UseSerialGC
-XX:+UseParallelGC
-XX:+UseConcMarkSweepGC
-XX:+UseG1GC
5.分析诊断
-XX:+HeapDumpOnOutOfMemoryError:异常堆的快照,默认关闭,示例:-XX:+HeapDumpOnOutOfMemoryError -Xmx 256m 再指定个文件名
-XX:HeapDumpPath=path与上面的配合使用,指定转存文件目录,示例:-XX:HeapDumpPath=C:/log/java/java_heapdump.log
-XX:OnError=string,当错误发生的时候运行的命令,%p代表当前进程示例:- -XX:OnError="userdump.exe %p"
-XX:OnOutOfMemoryError=string 与上面一样。
6.JavaAgent
-javaagent:[=<选项>]
加载 Java 编程语言代理, 请参阅 java.lang.instrument
作者:CocaCoder
链接:https://juejin.cn/post/7026914067805634574
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。