java启动参数一

java启动参数共分为三类;

其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;

其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;

其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用;本文主要描述标准参数部分,剩下的两个部分将会陆续推出;

标准参数如下:

-client

设置jvm使用client模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或者PC应用开发和调试。

-server

设置jvm使server模式,特点是启动速度比较慢,但运行时性能和内存管理效率很高, 适用于生产环境。在具有64位能力的jdk环境下将默认启用该模式,而忽略-client参数。

-agentlib:libname[=options]

用于装载本地lib包;其中libname为本地代理库文件名,默认搜索路径为环境变量PATH中的路径,options为传给本地库启动时的参数,多个参数之间用逗号分隔。

在Windows平台上jvm搜索本地库名为libname.dll的文件,在linux上jvm搜索本地库名为libname.so的文件,搜索路径环境变量在不同系统上有所不同,比如Solaries上就默认

搜索LD_LIBRARY_PATH。比如:-agentlib:hprof用来获取jvm的运行情况,包括CPU、内存、线程等的运行数据,并可输出到指定文件中;

windows中搜索路径为JRE_HOME/bin/hprof.dll。

-agentpath:pathname[=options]

按全路径装载本地库,不再搜索PATH中的路径;其他功能和agentlib相同;更多的信息待续,

在后续的JVMTI部分会详述。

-classpath classpath

-cp classpath

告知jvm搜索目录名、jar文档名、zip文档名,之间用分号;分隔;使用-classpath后jvm将

不再使用CLASSPATH中的类搜索路径,如果-classpath和CLASSPATH都没有设置,则jvm使用

当前路径(.)作为类搜索路径。jvm搜索类的方式和顺序为:Bootstrap,Extension,User。

Bootstrap中的路径是jvm自带的jar或zip文件,jvm首先搜索这些包文件,用

System.getProperty("sun.boot.class.path")可得到搜索路径。Extension是位于

JRE_HOME/lib/ext目录下的jar文件,jvm在搜索完Bootstrap后就搜索该目录下的jar文件,

用System.getProperty("java.ext.dirs")可得到搜索路径。

User搜索顺序为当前路径.、CLASSPATH、-classpath,jvm最后搜索这些目录,

用System.getProperty("java.class.path")可得到搜索路径。

-Dproperty=value

设置系统属性名/值对,运行在此jvm之上的应用程序可用System.getProperty("property")

得到value的值。如果value中有空格,则需要用双引号将该值括起来,如-Dname="space string"。

该参数通常用于设置系统级全局变量值,如配置文件路径,以便该属性在程序中任何地方都

可访问。

-enableassertions[:

-disableassertions[:

原文地址:https://www.cnblogs.com/fengjunhua/p/8780261.html

时间: 2024-10-10 06:20:10

java启动参数一的相关文章

2、java 启动参数

1.java启动参数共分为三类: 其一是标准参数 (-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数 (-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容:其三是非Stable参数 (-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用: 2.在使用命令java和javaw时,命令行格式如下,其中"argument"部分就可以设置一些参数. java [ options ] class [ ar

JAVA启动参数整理

http://blog.csdn.net/turkeyzhou/article/details/7619472 java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容: 其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用: 一.标准参数 -client  设置jvm使用client模式

Java启动参数的思考

前几年在将OS从32 bit升级到64 bit,以及虚拟机的内存调整到8G后,我把应用的Java启动参数重新写了一版,作为目前大部分Java应用的默认启动参数模版,这几年下来,发现在这个标准版的启动参数上还是犯了一些错误的. 1. -XX:+DisableExplicitGCJava在实现RMI Server的时候会通过定时的调System.gc来强制做GC(即使程序里没用到RMI也会被启动),这个动作非常烦人,另外也是为了避免应用代码上显式去调用System.gc导致一些没必要的GC动作产生,

java启动参数详解

java--jvm启动的参数其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容:其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用: ? 标准参数中比较有用的:verbose -verbose:class 输出jvm载入类的相关信息,当jvm报告说找不到类或者类冲突时可此进行诊断.-verbose:gc 输出每次

java启动参数

-Xms:初始Heap大小,使用的最小内存 -Xmx:java heap最大值,使用的最大内存 上面两个值一般设置为同样的大小. -Xss:每个线程的Stack大小 -verbose:gc 现实垃圾收集信息 -Xloggc:gc.log 指定垃圾收集日志文件 刚刚了解到的一些参数(待实践测试) -Xmn:young generation的heap大小,一般设置为Xmx的3.4分之一 -XX:+UseParNewGC :缩短minor收集的时间 -XX:+UseConcMarkSweepGC :缩

JAVA启动参数三:非Stable参数

前面我们提到用-XX作为前缀的参数列表在jvm中可能是不健壮的,SUN也不推荐使用,后续可能会在没有通知的情况下就直接取消了:但是由于这些参数中的确有很多是对我们很有用的,比如我们经常会见到的-XX:PermSize.-XX:MaxPermSize等等: 下面我们将就Java HotSpot VM中-XX:的可配置参数列表进行描述: 这些参数可以被松散的聚合成三类: 行为参数(Behavioral Options):用于改变jvm的一些基础行为: 性能调优(Performance Tuning)

java启动参数二

非标准参数又称为扩展参数,其列表如下: -Xint 设置jvm以解释模式运行,所有的字节码将被直接执行,而不会编译成本地码. -Xbatch 关闭后台代码编译,强制在前台编译,编译完成之后才能进行代码执行: 默认情况下,jvm在后台进行编译,若没有编译完成,则前台运行代码时以解释模式运行. -Xbootclasspath:bootclasspath 让jvm从指定路径(可以是分号分隔的目录.jar.或者zip)中加载bootclass,用来替换jdk的rt.jar:若非必要,一般不会用到: -X

java虚拟机启动参数分类详解

官方文档见: http://docs.sun.com/source/819-0084/pt_tuningjava.html java启动参数共分为三类:其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容:其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用: 一.标准参数中比较有用的: verbose -verbo

java程序启动参数-D是用来做什么的?

java程序启动参数 -D是用来做什么的呢?去查询了一下官方解释: Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes: java -Dfoo="some string" SomeClass 也就是说-D是用来在启动一个java程序时设置系统属性值的.如果该值是一个字符串且包含空格,那么需要包在一对双引号中