前言
只看代码,我们只能了解程序执行的先后顺序,通过内存分析,我们可以了解程序执行过程中的内存分配情况。前者是在时间维度上进行分析,后者是在空间维度上进行分析。本文目的就是将具体代码与其执行过程中的内存分配情况对应起来,使大家对这块内容有个清晰的认识。
概述
根据下图,我们首先来介绍一下整个程序执行过程。主要分为三步:
双击程序文件,将程序装载到内存中;
内存中本身有操...
分类:
编程语言 时间:
2015-06-27 21:30:30
阅读次数:
170
1、Java内存模型 根据JVM虚拟机的规范,内存主要被分为以下七个部分:1、PC寄存器 保存虚拟机正在执行的字节码的地址。字节码解释器在运行时就是通过改变PC寄存器来选取下一条需要执行的字节码指令,分支,循环,抛出异常,返回等需要依赖计数器...
分类:
编程语言 时间:
2015-06-17 21:29:05
阅读次数:
132
一 Java内存分析工具扫盲如果像我一样一点都不了解,可以先进行内存分析工具扫盲MAT介绍: Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储文件分析工具,可以用于发现内存漏洞和减少内存消耗。二 Eclipse MAT插件安装当前机器环境描述:[plain]v...
分类:
移动开发 时间:
2015-04-29 00:25:40
阅读次数:
506
对Mat工具的详细介绍,引用博文:http://my.oschina.net/biezhi/blog/286223下载地址:http://www.eclipse.org/mat/downloads.php官网介绍:http://www.eclipse.org/mat/
分类:
编程语言 时间:
2015-04-13 18:22:31
阅读次数:
146
我们都知道,狗是动物中的一种,那么如果现在有一个Dog类和Animal类,那么他们的关系就是Dog类继承Animal类。
我们经常说,狗是动物,实际上“狗是动物”这句话就是向上转型的一个例子,即把狗(子类)当做动物(父类)来看待。用一句话来总结,向上转型就是父类的引用指向子类的实例。
当父类的引用指向子类对象的时候,父类的引用只可以访问子类继承于父类的那一部分属性和方法以及子类重写的父类的方法。...
分类:
其他好文 时间:
2015-01-18 00:56:07
阅读次数:
209
程序运行时,我们定义的局部变量一般都存放于栈内存中,这些局部变量既可以是基本数据类型的变量(基本数据类型的变量在栈中直接保存它的值),也可以是引用类型的变量(引用类型的变量在栈中保存的是它所指向的堆内存中对象的地址)。
堆内存中存放的就是引用类型变量的地址所指向的对象。...
分类:
编程语言 时间:
2014-12-31 01:04:57
阅读次数:
241
注:变量:从本质上讲,变量其实是内存(栈)中的一小块区域,使用变量名来访问这块区域。因此,每个变量使用前必须先申请(声明),然后必须进行赋值,才能使用。按被声明的位置划分:局部变量:方法或语句块内部定义的变量。成员变量:方法外部、类的内部定义的变量。注意:类外面(与类对应的大括号外面)不能有变量的声...
分类:
编程语言 时间:
2014-12-24 13:15:20
阅读次数:
221
Shallow Heap和Retained Heap这两个名词在Java内存分析时经常遇到。本博文是Eclipse Memory Analyzer中关于Shallow Heap和Retained Heap帮助文档的翻译。 Shallow Heap是被一个对象消费的内存。Retained Heap是指X的Retained Set中所有对象的Shallow Size和。...
分类:
其他好文 时间:
2014-12-15 09:06:52
阅读次数:
249
我们常说的Java内存主要分为四大块(寄存器不在考虑之内,我们无法用代码来操控它):stack(栈)、heap(堆)、datasegment(数据区)、codesegment(代码区)。它们的主要用途如下图所示: 而在上面四个当中,我们经常谈论的是右边那两个家伙——stack和he...
分类:
编程语言 时间:
2014-11-30 15:23:33
阅读次数:
246
我们常说的Java内存主要分为四大块(寄存器不在考虑之内,我们无法用代码来操控它):stack(栈)、heap(堆)、data segment(数据区)、code segment(代码区)。它们的主要用途如下图所示:而在上面四个当中,我们经常谈论的是右边那两个家伙——stack和heap。今天我们就来聊聊Java代码在运行的过程中,在stack和heap中到底是什么样子的吧。我们先看下面一段代码:...
分类:
编程语言 时间:
2014-11-30 14:08:33
阅读次数:
177