前言
在看Btrace源码的时候,了解到一些陌生的启动命令参数,例如-Xbootclasspath等,之前也曾遇到过,但并没有去进一步全面了解,在此则进行介绍。
简介
Java 的启动参数包括标准的参数(运行环境参数)和非标准的参数(JVM实现支持的参数)。
标准的参数
参数 |
描述 |
-client
|
client模式启动 |
-server
|
Service模式启动 |
-classpath
classpath
-cp
classpath
|
加入classpath |
-D
property
=
value
|
加入到system property 中 |
-d32
-d64
|
启动的操作系统位数 |
-enableassertions
[:<package name>"..." | :<class name> ]
-ea
[:<package name>"..." | :<class name> ]
|
启动断言 |
-disableassertions
[:<package name>"..." | :<class name> ]
-da
[:<package name>"..." | :<class name> ]
|
禁止断言 |
-enablesystemassertions
-esa
|
启动系统断言 |
-disablesystemassertions
-dsa
|
禁止系统断言 |
-jar
|
启动jar |
-verbose
-verbose:class
|
打印载入的class信息 |
-verbose:gc
|
打印GC的收集时的信息 |
-verbose:jni
|
打印jni调用native的方法行为 |
-version
|
打印java的版本信息后退出 |
-showversion
|
打印java的版本信息,但不退出 |
-?
-help
|
帮助 |
-X
|
打印非标准的参数信息 |
非标准的参数
参数
|
描述 |
-Xint
|
设置jvm以解释模式执行,所有字节码解释执行 |
-Xbatch
|
关闭后台代码编译。正常情况下,VM会在后台编译代码,运行的方法将以解释的模式运行,知道后台编译完成。该参数则强制编译在前台执行,等所有编译完才能运行代码。 |
-Xdebug
|
启动debugger。具体可以参考
jdb description
|
-Xbootclasspath:
bootclasspath
|
指定用冒号分割的文件目录、jar或者zip文件,加入到boot class。用来代替java2 SDK中的boot class 文件。常被用来覆盖rt.jar的类。一般情况不会使用。
|
-Xbootclasspath/a:
path
|
和Xbootclasspath
参数用途一样,只是该选项是追加path到bootstrap class path中,而非替换。 |
-Xbootclasspath/p:
path
|
和Xbootclasspath/a
参数用途一样,只是追加的目录将优先于默认的bootstrap class path |
-Xcheck:jni
|
在执行native方法前进行检查。JVM会校验传递给jni方法的参数在执行jni请求前。在native中一个非法的数据将会导致JVM终止。如果开启该参数,将会降低性能。 |
-Xfuture
|
对class文件进行严格检查。目的为了向后兼容。推荐开发人员使用该参数。 |
-Xnoclassgc
|
关闭class 的gc功能 |
-Xincgc
|
开启增量gc的功能,默认是关闭的。有助于减少gc的停顿时间,但可能会导致大概10%的性能损耗。 |
-Xloggc:
file
|
和verbose:gc参数类似,只是将gc信息打印在文件而不是控制台。和verbose:gc不同的是输出的信息中带有时间。 |
-Xms
n
|
指定初始堆的大小,默认单位为k。可以指定为m |
-Xmx
n
|
指定堆得最大的大小 |
-Xss
n
|
设置线程栈的大小 |
-Xprof
|
跟踪正在运行的程序,并输出跟踪信息到控制台。该参数主要用在开发环境,而不是生产环境。 |
-Xrunhprof
[:help
][:<suboption>=<value>,...
]
|
开启cpu、heap或者监视器的性能分析。具体介绍,可以参考
java -Xrunhprof:help
|
-Xrs
|
减少JVM对操作系统信号(signals)的使用。 |
关于JVM的其他参数,后续进行补充。
分享到:
相关推荐
Java是通过java虚拟机来装载和执行编译文件(class文件)的,java虚拟机通过命令java option 来启动,-option为虚拟机参数,通过这些参数可对虚拟机的运行状态进行调整.
linux下赋予该文件可执行权限 打开文件,配置好jar包路径和jar包名称后,可执行下面命令 $ ./autobot status $ ./autobot start $ ./autobot stop $ ./autobot restart
给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习
主要介绍了Spring Boot 的java -jar命令启动原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
getLinePara.java 获取命令行参数示例 hasStaticMethod.java 静态成员方法示例 hasStatMember.java 静态成员变量示例 HelloNative.c 用C写的一个小程序 HelloNative.dll 用C生成的DLL文件 HelloNative.exp 用...
第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...
第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...
创建线程和启动 39 线程的生命周期 44 线程管理 45 线程同步 49 线程通信 52 线程池 58 死锁 64 线程相关类 65 十三、 同步★★★★★ 67 十四、 Lock接口 70 十五、 API 71 < java.lang >String字符串:★★★☆ 71...
1.4.2 JDK安装目录和实用命令工具介绍12 1.4.3 设置环境变量13 1.4.4 验证配置的正确性14 1.5 MyEcilpse工具介绍JavaSE环境安装和配置15 1.6 本章练习16 第2章 2.1 什么是程序18 2.2 计算机中的程序18 2.3 Java程序...
5.java指令的目的是启动jvm,然后执行指定的执行文件(.class)。windows系统的可执行文件是.exe和.bat ,Linux系统的可执行文件是有执行权限的文档。 6.java -cp/-classpath .;C:\workspace;C:\lib\abc.jar ...
主要介绍了SpringBoot java-jar命令行启动原理解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
执行带main方法的class文件,命令行为: java 注意:CLASS文件名不要带文件后缀.class 例如: 代码如下: java Test 如果执行的class文件是带包的,即在类文件中使用了:package <包名> ...
表达式解析器;字符串编码的转换;字符串对齐器;密码加密和验证(MD5); 制作命令行程序;使用正则表达式操作字符串;使用正则表达式验证电话号码的格式; 6java异常处理 throw和throws、try和catch;自定义异常类...
JCommander是一个用于解析命令行参数的Java框架,支持解析所有基本的数据类型,也支持将命令行解析成用户自定义的类型,只需要写一个转变函数。 首先我们来看下seata的源码: @Parameter(names = --help, help = ...
本文通过四种方法给大家介绍java命令执行jar包的方式,每种方法通过实例代码给大家详解,需要的朋友参考下吧
6.11.1 jar命令详解 235 6.11.2 创建可执行的JAR包 237 6.11.3 关于JAR包的技巧 238 6.12 本章小结 239 本章练习 239 第7章 Java集合 240 7.1 Java集合概述 241 7.2 Collection和Iterator接口 243 7.2.1 ...
配置环境变量:配置Java的环境变量,将Java路径加入系统PATH环境变量中,以便系统能够找到Java和相关工具命令。 部署应用程序:将Java应用程序拷贝到服务器上,并按照应用程序的要求进行配置和调整。可以将Java应用...
全部代码出自电子工业出版社夏先波的《Java JDK实例宝典》一书,本书以J2SE 5.0为开发环境,选取Java应用的典型实例,循序渐进地介绍了Java语言的各种开发方法和技巧,实例代码注释详细规范,思路清晰。 第1章 ...
实例119 启动和停止线程 350 实例120 多线程同步方法 352 实例121 取钱存钱(线程同步互斥) 354 实例122 谁唤醒了我(线程沉睡和唤醒) 357 实例123 让步传文件(线程让步) 359 实例124 爱子(守护线程) 361...