java命令行参数详解
Posted 晨港飞燕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java命令行参数详解相关的知识,希望对你有一定的参考价值。
读完本篇文章你会了解到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.堆内存设置
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:OnOutOfMemoryError=string 与上面一样。
6.JavaAgent
log4j相关:
参考:
以上是关于java命令行参数详解的主要内容,如果未能解决你的问题,请参考以下文章