`

java 启动命令解析

阅读更多
前言
     在看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)的使用。


以上参数为1.4.2的基础的,文档地址:http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/java.html
刚发现了1.6.0的文档地址,对比了下,发现基本参数一样。地址:http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

关于JVM的其他参数,后续进行补充。

分享到:
评论

相关推荐

    Java命令详解

    Java是通过java虚拟机来装载和执行编译文件(class文件)的,java虚拟机通过命令java option 来启动,-option为虚拟机参数,通过这些参数可对虚拟机的运行状态进行调整.  

    Linux Java 简化启动sh

    linux下赋予该文件可执行权限 打开文件,配置好jar包路径和jar包名称后,可执行下面命令 $ ./autobot status $ ./autobot start $ ./autobot stop $ ./autobot restart

    Android中执行java命令的方法及java代码执行并解析shell命令

    给大家介绍Android中执行java命令的方法及java代码执行并解析shell命令,需要的朋友一起学习

    Spring Boot 的java -jar命令启动原理详解

    主要介绍了Spring Boot 的java -jar命令启动原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java开发技术大全(500个源代码).

    getLinePara.java 获取命令行参数示例 hasStaticMethod.java 静态成员方法示例 hasStatMember.java 静态成员变量示例 HelloNative.c 用C写的一个小程序 HelloNative.dll 用C生成的DLL文件 HelloNative.exp 用...

    JAVA上百实例源码以及开源项目

    第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...

    JAVA上百实例源码以及开源项目源代码

    第一步:运行ServerData.java 启动服务器,然后服务器处于等待状态 第二步:运行LoginData.java 启动(客户端)登陆界面 输入用户名 ip为本机localhost 第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动...

    Java基础知识点总结.docx

    创建线程和启动 39 线程的生命周期 44 线程管理 45 线程同步 49 线程通信 52 线程池 58 死锁 64 线程相关类 65 十三、 同步★★★★★ 67 十四、 Lock接口 70 十五、 API 71 &lt; java.lang &gt;String字符串:★★★☆ 71...

    java基础案例与开发详解案例源码全

    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程序...

    java jdk8 学习笔记

    5.java指令的目的是启动jvm,然后执行指定的执行文件(.class)。windows系统的可执行文件是.exe和.bat ,Linux系统的可执行文件是有执行权限的文档。 6.java -cp/-classpath .;C:\workspace;C:\lib\abc.jar ...

    SpringBoot java-jar命令行启动原理解析

    主要介绍了SpringBoot java-jar命令行启动原理解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    运行Java的class文件方法详解

     执行带main方法的class文件,命令行为:  java  注意:CLASS文件名不要带文件后缀.class  例如:  代码如下:  java Test  如果执行的class文件是带包的,即在类文件中使用了:package &lt;包名&gt;  ...

    java jdk实列宝典 光盘源代码

    表达式解析器;字符串编码的转换;字符串对齐器;密码加密和验证(MD5); 制作命令行程序;使用正则表达式操作字符串;使用正则表达式验证电话号码的格式; 6java异常处理 throw和throws、try和catch;自定义异常类...

    seata学习–命令行启动参数解析(JCommander)

    JCommander是一个用于解析命令行参数的Java框架,支持解析所有基本的数据类型,也支持将命令行解析成用户自定义的类型,只需要写一个转变函数。 首先我们来看下seata的源码: @Parameter(names = --help, help = ...

    java命令执行jar包的多种方法(四种方法)

    本文通过四种方法给大家介绍java命令执行jar包的方式,每种方法通过实例代码给大家详解,需要的朋友参考下吧

    疯狂JAVA讲义

    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系统部署文档-windows-V1.0.1.doc

    配置环境变量:配置Java的环境变量,将Java路径加入系统PATH环境变量中,以便系统能够找到Java和相关工具命令。 部署应用程序:将Java应用程序拷贝到服务器上,并按照应用程序的要求进行配置和调整。可以将Java应用...

    Java JDK实例宝典

    全部代码出自电子工业出版社夏先波的《Java JDK实例宝典》一书,本书以J2SE 5.0为开发环境,选取Java应用的典型实例,循序渐进地介绍了Java语言的各种开发方法和技巧,实例代码注释详细规范,思路清晰。 第1章 ...

    JAVA 范例大全 光盘 资源

    实例119 启动和停止线程 350 实例120 多线程同步方法 352 实例121 取钱存钱(线程同步互斥) 354 实例122 谁唤醒了我(线程沉睡和唤醒) 357 实例123 让步传文件(线程让步) 359 实例124 爱子(守护线程) 361...

Global site tag (gtag.js) - Google Analytics