第五章 JVM调优5.1 Java虚拟机内存模型1.JVM虚拟机将其内存数据分为程序计数器、虚拟机栈,本地方法栈,Java堆,和方法去等部分。5.2 JVM内存分配参数5.3 垃圾收集基础5.4 常用调优案例和方法5.5 使用JVM参数5.6 实战JVM调优
分类:
编程语言 时间:
2014-08-15 10:41:08
阅读次数:
186
简单讲一下各个区域
程序计数器:当前线程所执行的字节码的行号指示器,循环,线程恢复等基础功能依赖这个计数器完成(线程私有,每一个线程都会有自己单独的一个计数器)。
本地方法栈:与java虚拟机栈相似,不过执行的是native方法。
方法区(包含运行时常量池):各个线程共享的区域,它用于已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。
java虚拟机栈:也是线程私有的,生命周期与线程相同 每个方法执行时都会创建一个栈帧(一会儿会详细讲到)结构是栈结构,先进后...
分类:
编程语言 时间:
2014-08-11 17:54:52
阅读次数:
315
由于在HotSpot虚拟机中并不区分虚拟机栈和本地方法栈,因此对于HotSpot来说,-Xoss参数(设置本地方法栈大小)虽然存在,但实际上是无效的,栈容量只由-Xss参数设定。关于虚拟机栈和本地方法栈,在Java规范中描述了两种异常:如果线程请求的栈深度大于虚拟机所允许的最大深度,将..
分类:
其他好文 时间:
2014-07-26 03:28:27
阅读次数:
179
上一回对JVM运行时数据区域的组织结构进行了概述,这一回将对各个组成进行详解。程序计数器【ProgramCounterRegister】程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数..
分类:
其他好文 时间:
2014-07-23 21:16:16
阅读次数:
233
JVM运行时数据区的内存模型由五部分组成:【1】方法区【2】堆【3】JAVA栈【4】PC寄存器【5】本地方法栈对于String s = "haha" ,它的虚拟机指令:0: ldc #16; //String haha2: astore_13: return对于上面虚拟机指令,其各自的指令流程在《深...
分类:
编程语言 时间:
2014-07-16 18:48:18
阅读次数:
217
一、jvm内存结构程序计数器(Program Counter Register)、JVM虚拟机栈(JVM Stacks)、本地方法栈(Native Method Stacks)、堆(Heap)、方法区(Method Area)(1)PCR尾随线程生命周期,记录当前运行到的.class字节码行数,用于...
分类:
编程语言 时间:
2014-06-16 13:40:31
阅读次数:
266
java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下:
' v:shapes="_x0000_i1029">
其中方法区和堆是由所有线程共享的数据区。
Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区。
Java官方定义:http://www.98ki.com/servlet/HomeServlet?method=get&id=53...
分类:
编程语言 时间:
2014-05-18 18:20:57
阅读次数:
420
转载自http://blog.csdn.net/cutesource/article/details/5906705JVM内存组成结构JVM栈由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新...
分类:
编程语言 时间:
2014-05-11 17:17:27
阅读次数:
275
第一章 内存分配
1. 内存区域。
方法区和堆(线程共享),程序计数器 , VM栈 和 本地方法栈(线程隔离)。
1) java虚拟机栈:线程私有。描述的是java方法执行的内存模型:栈帧,用户存储 局部变量表,操作数栈,动态链接,方法出口等信息。
局部变量表在编译时即可完全确定!如果线程请求的栈深度大于 规定的深度,StackOverflowErro...
分类:
其他好文 时间:
2014-05-10 04:47:01
阅读次数:
275
1.jvm 内存结构
1)程序计数器
较小的内存区域,可以看作是当前线程所执行的字节码的行号指示器;每条线程独立;
2)java虚拟机栈
描述java方法执行的内存模型,即每个方法在执行的同时都会创建一个栈帧用户存储局部变量表、操作数栈、动态链接、方法出口等信息;即一个方法的调用直至完成的过程对应着一个栈帧的入栈到出栈的过程。同样是线程私有;
3)本地方法栈
对应虚拟机使用的nativ...
分类:
编程语言 时间:
2014-04-27 22:12:22
阅读次数:
440