原文地址:http://blog.csdn.net/wo541075754/article/details/55051693

我们都知道在启动tomcat或直接执行Java命令的时候可以通过参数-XX等来配置虚拟机的大小,同样,也应该留意到java -Dkey=value的参数。那么这个参数是什么作用呢?

使用案例

其实,在不知不觉中我们已经在使用-D的参数项,比如用下面参数来配置文件编码:

-Dfile.encoding=UTF-8
 
 
  • 1
  • 1

再比如,用以下参数来配置dubbo的选项:

java -Ddubbo.reference.com.foo.BarService.check=false
java -Ddubbo.reference.check=false
java -Ddubbo.consumer.check=false 
java -Ddubbo.registry.check=false
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

功能解析

-D=value 
官网解释:

Set a system property value. If value is 
a string that contains spaces, you must enclose the string in double quotes:

在虚拟机的系统属性中设置属性名/值对,运行在此虚拟机上的应用程序可用:

System.getProperty("属性名")
 
 
  • 1
  • 1

得到value的值。

如果value中有空格,则需要用双引号将该值括起来,如:-Dname=”kazaf f”。

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

注意事项

(1)需要设置的是JVM参数而不是program参数; 
(2)使用此参数的参数优先级最高,会覆盖项目中配置的此项;

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐