概述 前一章介绍了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈和本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈操作。每一帧分配多少内存基本在类结构确定下来时就已知了,因此这几个区域的内存分配和回收具有确定性,线程结束时,内存就跟着回 ...
分类:
其他好文 时间:
2017-04-17 11:42:23
阅读次数:
185
Java虚拟机运行时数据区:方法区、虚拟机栈、本地方法栈、堆、程序计数器 对象的创建 对象的内存布局 对象的访问定位 内存泄露 虚拟机栈和本地方法栈 ...
分类:
编程语言 时间:
2017-04-15 13:39:42
阅读次数:
137
Grabage Collection GC
GC要完成的三件事情:
哪些内存需要回收?
什么时候回收?
如何回收?
内存运行时区域的各个部分中:
程序计数器、虚拟机栈、本...
分类:
编程语言 时间:
2017-04-13 18:12:41
阅读次数:
195
本博文只是源自周志明《深入理解Java虚拟机》 Java运行数据区图解: 程序计数器图解: Java的虚拟机栈图解: Java的本地方法栈图解: Java堆图解: 直接内存图解: ...
分类:
编程语言 时间:
2017-04-13 12:32:49
阅读次数:
186
1、程序计数器(Program Counter Register) 是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 2、Java虚拟机栈(Stack)线程私有,每一个方法调用时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。局... ...
分类:
编程语言 时间:
2017-04-05 20:24:35
阅读次数:
209
JAVA虚拟机栈几个重要概念 java 虚拟机栈 = java virtual machine stacks = jvms 1、JVMS 线程私有,生命周期与线程相同 2、JVMS 描述的是JAVA方法执行的内存模型:JVMS在方法执行时会创建一个“栈帧” stack frame,用于记录局部变量表 ...
分类:
编程语言 时间:
2017-03-30 23:28:07
阅读次数:
284
垃圾回收主要内容: 1. 那些内存需要回收? 2. 什么时候回收? 3. 如何回收? 垃圾回收主要针对运行时数据区那些区域? 运行时数据区的线程私有区域有:虚拟机栈,本地方法栈,程序计数器等; 栈中的栈帧随着方法的进入和退出执行入栈和出栈,每个栈帧的内存分配在编译期就已经确定; 随着线程或方法的结束 ...
分类:
编程语言 时间:
2017-03-20 00:06:27
阅读次数:
207
线程私有的内存区: java虚拟机栈和程序计数器JDK监控和故障处理工具:jps:JVMprocessStatusTool:显示指定系统内所有的HostSpot虚拟机进程的列表Jstat:JVMStatisticsMonitoringTool:手机并显示HostSport虚拟机各方面运行数据Jinfo:显示虚拟机信息Jmap:生成某HOstSpot虚拟机的..
分类:
编程语言 时间:
2017-03-17 21:28:28
阅读次数:
221
JMM对于一个想要深入了解java的程序猿来说是不可避免的一关,本文偏理论性,尽可能说的通俗易懂,如有不对的地方希望多多指正。 那我们先说一下jvm的主内存分配 1 java虚拟机栈(java virtual stack) 虚拟机栈是线程私有的,每个线程都有一个自己的虚拟机栈,是java方法执行的内 ...
分类:
编程语言 时间:
2017-03-16 20:25:09
阅读次数:
207
大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器) , VM Stack(虚拟机栈,也有翻译成JAVA 方法栈的),Native Method Stack ( 本地方法栈 ),其 ...
分类:
其他好文 时间:
2017-03-06 20:49:25
阅读次数:
134