实际开发中,随着业务量的增加,项目中的相关配置文件会不断增多,而有的配置信息只需要在本地开发的时候需要加载,例如加密所需的jks文件,每个开发者的jks文件在本地存放的路径不一样,但如果你将此类文件按自己的配置提交到服务器,势必会影响整个项目的运行,甚至会导致整个系统因违法找到加密机而无法启动。这就导致了一个问题,项目每次上线需要将包中的jks文件配置删除在进行提交,比较麻烦,所以需要将这些配置文件放在服务器一个指定的目录中,这样项目中就不包含这些配置文件方便部署。
而上图的VM options参数配置便是idea为避免提交不必要文件设置的参数配置,那么这些配置参数是什么意思呢?
首先,前半部分的配置信息如下
set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
前面是设置的虚拟机内存参数。Tomcat调优:
-Xms(设置堆的初始化大小,值的大小必须大于1M并且是1024byte的倍数如果你不设置的话,那么堆的初始化大小为老年代和新生代的大小总和。,)
-Xmx(设置堆的最大大小,也必须为1024的倍数,并且必须大于2m。)
-XX:MaxPermSize(设置方法区最大大小。同样在jdk8中是不建议的,建议使用 -XX:MaxMetaspaceSize替换。)
后面的-Dglobal.config.path设置的项目的全局参数
-Dglobal.config.path=G:\yididuocang\
该参数类似于测试类中Main中的args参数,即全局传入的参数,可以在任何地方进行配置加载和使用。使用方式可通过xml配置方式,也可通过main函数传入args参数方式。
测试代码:
public class TestArgs {
public static void main(String[] args) {
for(int i = 0; i < args.length; i++){
// 输出args数组的内容
System.out.println(args[i]);
}
}
}