實(shí)際開發(fā)中,隨著業(yè)務(wù)量的增加,項(xiàng)目中的相關(guān)配置文件會(huì)不斷增多,而有的配置信息只需要在本地開發(fā)的時(shí)候需要加載,例如加密所需的jks文件,每個(gè)開發(fā)者的jks文件在本地存放的路徑不一樣,但如果你將此類文件按自己的配置提交到服務(wù)器,勢(shì)必會(huì)影響整個(gè)項(xiàng)目的運(yùn)行,甚至?xí)?dǎo)致整個(gè)系統(tǒng)因違法找到加密機(jī)而無法啟動(dòng)。這就導(dǎo)致了一個(gè)問題,項(xiàng)目每次上線需要將包中的jks文件配置刪除在進(jìn)行提交,比較麻煩,所以需要將這些配置文件放在服務(wù)器一個(gè)指定的目錄中,這樣項(xiàng)目中就不包含這些配置文件方便部署。

而上圖的VM options參數(shù)配置便是idea為避免提交不必要文件設(shè)置的參數(shù)配置,那么這些配置參數(shù)是什么意思呢?
首先,前半部分的配置信息如下
set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
前面是設(shè)置的虛擬機(jī)內(nèi)存參數(shù)。Tomcat調(diào)優(yōu):
-Xms(設(shè)置堆的初始化大小,值的大小必須大于1M并且是1024byte的倍數(shù)如果你不設(shè)置的話,那么堆的初始化大小為老年代和新生代的大小總和。,)
-Xmx(設(shè)置堆的最大大小,也必須為1024的倍數(shù),并且必須大于2m。)
-XX:MaxPermSize(設(shè)置方法區(qū)最大大小。同樣在jdk8中是不建議的,建議使用 -XX:MaxMetaspaceSize替換。)
后面的-Dglobal.config.path設(shè)置的項(xiàng)目的全局參數(shù)
-Dglobal.config.path=G:\yididuocang\
該參數(shù)類似于測(cè)試類中Main中的args參數(shù),即全局傳入的參數(shù),可以在任何地方進(jìn)行配置加載和使用。使用方式可通過xml配置方式,也可通過main函數(shù)傳入args參數(shù)方式。
測(cè)試代碼:
public class TestArgs {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++){
// 輸出args數(shù)組的內(nèi)容
System.out.println(args[i]);
}
}
}