`

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 2语言命令详解

    Java 2语言命令详解 Java 2平台是Java技术的核心组成部分,它提供了广泛的功能和工具,使得开发者能够创建、编译、运行Java应用程序。在Java 2中,有一系列的命令行工具,它们是开发过程中的重要环节。下面将详细...

    java命令参数详解

    Java命令参数详解是Java开发中不可或缺的一部分,它们允许开发者对JVM(Java虚拟机)的行为进行微调,以优化程序的性能、控制内存使用、调试和监控等。本文将深入探讨一些关键的Java命令行参数。 1. **-version**: ...

    Java2语言命令详解

    Java2语言命令详解 在Java开发中,理解并掌握各种命令行工具是至关重要的,特别是对于初学者和专业开发者来说。Java2语言命令主要指Java Development Kit (JDK) 提供的一系列命令行工具,它们在Java程序的编译、...

    java开发maven命令详解

    ### Maven命令详解 Maven是Java项目自动化构建工具的一个标准,它通过一组生命周期构建项目对象模型(POM),简化了构建过程。对于初学者来说,理解Maven的基本命令及其用法至关重要。 #### 1. `mvn -v` 用于显示...

    java常见命令指南

    ### Java常见命令指南:深入解析与实践应用 #### 引言 Java作为全球最流行的编程语言之一,其强大的跨平台能力和丰富的生态系统深受开发者喜爱。掌握Java的各项命令是每个程序员的基本功,不仅能提升开发效率,还...

    Java2 语言命令详解

    Java2 语言命令详解 Java2 语言是Java平台的核心组成部分,它提供了丰富的类库、强大的性能优化以及多线程支持。在Java2环境中,掌握各种命令行工具是每个开发者必备的技能。本文将深入探讨Java2语言命令的使用方法...

    java-JDK常用命令详解

    Java JDK 常用命令详解 Java JDK 提供了多种命令来帮助开发者更好地使用 Java 语言,以下是 JDK 中常用的命令解释: 1. rmic 命令 rmic 命令用于生成 stub 和 skeleton,它可以将 Java 类编译成可供远程对象使用...

    java系统命令调用

    在Java编程中,有时我们需要通过Java程序来执行操作系统级别的命令,例如启动、停止服务,或者进行一些系统级别的操作。本文将详细介绍如何使用Java Runtime类中的`getRuntime().exec()`方法来调用系统命令,并提供...

    java2应用命令详解

    Java 2 应用命令详解 在 Java 开发和运行环境中,掌握各种命令行工具是至关重要的。Java 2 应用命令主要指的是用于管理、编译、运行和调试 Java 程序的一系列命令。这些命令使得开发者能够在不同的操作系统上高效地...

    java命令详解 高手进阶

    ### Java命令详解:高手进阶 #### Java命令概述与应用场景 在Java开发中,掌握核心命令行工具对于提升开发效率、进行深入调试至关重要。本文将详细介绍`java.exe`、`javac.exe`、`javaw.exe`、`javah.exe`、`javap...

    \Java2语言命令详解(PDG).

    Java 2语言命令详解 Java 作为一门广泛使用的编程语言,其命令行工具在开发、编译、运行和管理Java程序中起着至关重要的作用。本文将深入探讨Java 2平台(J2SE)下的主要命令及其用法,帮助开发者更好地理解和掌握...

    将java文件打包成 jar jar命令详解

    ### Java 文件打包成 JAR 文件详解 #### 一、JAR 命令概述 JAR(Java Archive)是 Java 开发工具包 (JDK) 中的一个实用程序,用于将多个 Java 类文件和其他资源文件打包成一个 JAR 文件。JAR 文件不仅便于分发和...

    把java文件打包成.jar_(jar命令详解).doc

    ### Java 文件打包成 .jar 文件及 jar 命令详解 #### 一、jar 命令概述 在 Java 开发中,经常会遇到需要将多个类文件或者资源文件打包成一个单独的 `.jar` 文件的需求。`.jar` 文件类似于 `.zip` 文件,是一种将多...

    Java语言编写的Linux简单命令解释器

    在本项目中,Java被用来解析和执行Linux命令,展示了其强大的系统交互能力。 2. **Linux命令解释器**:在Linux中,命令解释器(如bash)负责接收用户的输入并执行相应的系统调用。这个简单的Java命令解释器模拟了这...

Global site tag (gtag.js) - Google Analytics