理解java虚拟机及tomcat调优配置详解.docVIP

  • 4
  • 0
  • 约8.27千字
  • 约 6页
  • 2017-02-11 发布于北京
  • 举报
理解java虚拟机及tomcat调优配置详解

Jvm优化及简单介绍 JVM内存区域模型 运行的基本流程: Class文件—》类装载器—》内存区—》执行区—》本地库接口—》本地方法库 内存区(大体上分为5块):重点是堆 1.方法区 也称永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小,还可以选择不实现垃圾回收在这里,设置了也很少来这里回收。所以,一般设定为64M最大值比较好。 2.虚拟机栈 描述的是java 方法执行的内存模型:每个方法被执行的时候 都会创建一个“栈帧”用于存储局部变量表(包括参数)、操作栈、方法出口等信息。每个方法被调用到执行完的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。声明周期与线程相同,是线程私有的。 局部变量表存放了编译器可知的各种基本数据类型(boolean、byte、char、short、int、float、long、double)、对象引用(引用指针,并非对象本身),其中64位长度的long和double类型的数据会占用2个局部变量的空间,其余数据类型只占1个。局部变量表所需的内存空间在编译期间完成分配,当进入一个方法时,这个方法需要在栈帧中分配多大的局部变量是完全确定的,在运行期间栈帧不会改变局部变量表

文档评论(0)

1亿VIP精品文档

相关文档