詳見:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt407
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數組~