1.修改tomcat内存
OutOfMemoryError:java heap space异常---堆内存溢出,如果不是代码问题,就是引用的jar太多导致
jvm 堆内存 :物理内存1/64--1/4(最小--最大)
StackOverflowError异常 栈内存溢出 ,死循环或无限递归导致
优化方法:
复制命令(自行百度),打开catalina.bat,在第二行粘贴即可 。根据需要调整数值
set JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256m" (仅做参考,具体数值根据自己的电脑内存配置)参数参照:https://blog.csdn.net/m0_37327416/article/details/76185051
性能方面,还需要考虑jvm的垃圾回收机制,调整这些的目的,就是最小化回收垃圾的时间,系统回收垃圾的时间3-5秒左右,过多的话,要减小堆内存,一般是物理内存的80%
2.热部署 :不重新启动的情况下,部署项目到容器中
如何热部署?
1.直接把war放到webapps下面,会自动热部署
2.server.xml,找到host标签,添加配置项
<Context debug="0" path="/" docBase="/your/project/base/" reloadable="false" />
debug数值越大,输出越详细
docBase绝对或者相对路径(相对于webapps的)
path 访问前缀(项目名)
reloadable true自动加载新增或改变的class文件
3.conf/Catalina/localhost下面新建XX.xml文件,将
<Context debug="0" docBase="/your/project/base/" reloadable="false" />
复制到这里,这种方式 path="/"是无效的,tomcat会以XX.xml的名称为项目前缀