jvm内存模型: java
堆内存(类的实例,数组,new 生成的对象), 栈内存(方法局部变量,方法参数), 静态内存区(常量,静态变量,类的元数据,不会被jvm垃圾回收)数组
内存溢出tomcat
1, outOfMemoryError: java heap space 异常 服务器
堆内存满了,好比 jar 文件太多。默认 最小为 物理内存的 1/64 ,最大为 1/4 jvm
2. outOfMemoryError: PermGen space 异常 spa
静态内存区满了,加载的类太多了code
3. stackOverflowError 异常server
栈满了, 通常是 死循环,或者递归 致使的对象
配置tomcat 内存递归
win下 在 catalina.bat 文件里面
好比
set JAVA_OPTS="-server # 服务器模式 -Xms256m # 最新堆内存,不要 超过 80% 的物理内存 -Xmx512m # 不要超过物理内存,通常为 物理内存的一半 -XX:MetaspaceSize=128m # 元空间大小 -XX:MaxMetaspaceSize=256m # 默认无上限 "
以上来自慕课网