1、Java内存区域划分: 运行时的数据区:方法区和堆(各个线程共享的内存区域),程序计数器、Java虚拟机栈和本地方法栈(线程私有的) 程序计数器:当前线程所执行字节码的行号指示器,字节码解释器就是通过改变计算器的值来选取下一条需要执行的字节码指令,
因为内存溢出问题
1. Linux下直接修改%tomcat_home%/bin/catalina.sh文件
在注释下紧接一行也就是脚本正文开始之前 加上
JAVA_OPTS='-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m'
如果报-x没有定义,则用
declare -x JAVA_OPTS="-Xms512m -Xmx1024"
初始值和最大值自己根据实际情况可以更改.
2. Windows下通过Tomcat下直接启动可以直接修改%tomcat_home%/bin/catalina.bat文件
在JAVA_OPTS修改
set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m 近期看了看Java内存泄露的一些案例,跟原来的几个哥们讨论了一下,深入研究发现JVM里面还是有不少以前不知道的细节,这里稍微剖析一下。先看一看JVM的内部结构—— 如图所示,JVM主要包括两
3. 如果是通过Myeclipse启动Tomcat修改
Myeclipse配置选项 打开选项..输入tomcat关键字,然后点开Server下面的JDK就会出现配置区域.
直接加入 -Xms128m -Xmx512m
4..如果 是通过service.msc里的Tomcat服务启动Tomcat则需要修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation
\Tomcat Service Manager\Tomcat6\Parameters\JavaOptions
原值为
-Dcatalina.home=”C:\ApacheGroup\Tomcat 6.0″
-Djava.endorsed.dirs=”C:\ApacheGroup\Tomcat 6.0\common\endorsed”
-Xrs
加入 -Xms300m -Xmx512m