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程序时设置系统属性值的。如果该值是一个字符串且包含空格,那么需要包在一对双引号中。

何为系统属性值呢?也就是在System类中通过getProperties()得到的一串系统属性。

下面我们来写个测试方法就知道了!

public class TestSystem {
	public static void main(String args[]) {
		System.out.println(System.getProperty("fuck.abc"));
	}
}

在运行改程序时加上JVM参数-Dfuck.abc="1234",那么运行之后你可以看到控制台输出了1234!

一点值得注意的是,需要设置的是JVM参数而不是program参数,注意看下图

这里的program arguments指的是什么呢?这个指的是main方法中的args数组~

时间: 2024-10-12 15:43:40

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

java程序启动参数-D含义详解

-D<name>=<value>  :  set a system property  设置系统属性. 官方解释: Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes: 1.java -D参数简化加入多个jar java命令引入jar时可以-cp参数,但时-cp不能用通配符(多个jar时什么烦要一个个写

java程序 启动时参数

iEMP34:/opt/version/lktest/b030/jre/jre_linux/bin # ./java -classpath . SysInfo Exception in thread "main" java.lang.NoClassDefFoundError: org/hyperic/sigar/SigarException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.

不错的linux下通用的java程序启动脚本(转载)

转自:http://www.cnblogs.com/langtianya/p/4164151.html 虽然写起动shell的频率非常不高...但是每次要写都要对付一大堆的jar文件路径,新加jar包也必须要修改起动shell. 在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用来做起动脚本了. 并且除了能起动.还支持关闭.重启.查看是否正在运行的功能. 原文地址:http://www.tudaxia.com/archives/10 start函数中,nohup部分其实也

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

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

不错的linux下通用的java程序启动脚本

虽然写起动shell的频率非常不高...但是每次要写都要对付一大堆的jar文件路径,新加jar包也必须要修改起动shell. 在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用来做起动脚本了. 并且除了能起动.还支持关闭.重启.查看是否正在运行的功能. 原文地址:http://www.tudaxia.com/archives/10 start函数中,nohup部分其实也可以提出来放入一个配置变量中.这里没有修改直接贴上作者的原文 #!/bin/sh #该脚本为Linux下

java虚拟机启动参数

常用参数 堆设置 -Xms :初始堆大小 -Xmx :最大堆大小 -XX:NewSize=n :设置年轻代大小 -XX:NewRatio=n :设置年轻代和年老代的比值.如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n :年轻代中Eden区与两个Survivor区的比值.如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5 -XX:MaxPermSize=n :设置持久代大小 -XX:Hea

给你的JAVA程序配置参数(Properties的使用)

我们在写JAVA程序时,很多时候运行程序的参数是需要动态改变的 测试时一系列参数,运行时一系列参数 又或者数据库地址也需要配一套参数,以方便今后的动态部署 这些变量的初始化,我们在写小DEMO时完全可以写死在JAVA文件中 但程序需要发布或者局部部署时,这些参数就需要脱离程序代码了 我们有多种存放参数的方式,比如数据库.XML文件又或者直接是txt文件 现在介绍一种使用JAVA,简单方便的参数读取方式 .properties文件,我们并不陌生,很多优秀的框架中就能看到它的存在,比如Hiberna

java 虚拟机启动参数 (转)

在Java.J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能. JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置.但是在生产环境中,为了提高性能,往往需要调整这些参数,以求系统达到最佳新能. 另外这些参数的配置也是影响系统稳定性的一个重要因素,相信大多数Java开发人员都见过“OutOfMemory”类型的错误.呵呵,这其中很可能就是JVM参数配置不当或者就没有配置没意识到配置引起的. 为了说明这些参数,还需要说说JDK中的命令行工具

qt 程序启动参数 -qws

运行嵌入式程序 在嵌入式QT版本中,程序需要服务器或自己作为服务器程序.服务器程序构造的方法是构造一个QApplication::GuiServe类型的QApplication对象.或者使用-qws命令选项启动程序. Using a Single Display使用-qws选项接下来的程序可以当做客户端来运行,只要不使用-qws选项.那么客户端程序就会自动连接到服务程序中. using Mutiple Displays嵌入式版本中运行多个县市同时运行.两种方式可以实现,要么多次运行服务程序,要么