- 博客(4)
- 收藏
- 关注
原创 浅谈虚拟机(2)受害者和凶手登场の内存详解
本来想要在一篇博客中写完对象创建的所有内容。但是发现对象创建并不是三言两语可以写完,因此改为一个系列博客。而JVM有一个非常重要的功能便是对对象的管理,因此正好借对象创建的例子,来一点一点盘剥虚拟机的神奇之处。 类在内存中的加载分为两步,第一步是类加载,第二步是内存分配。在讲这两步之前先对内存区域进行讲解。 JVM(Java Virtual Mechine)内存区域 上图是JV
2017-06-16 10:44:52 270
原创 浅谈虚拟机(1)继承引发了一场血案の实例化中的继承
父类: public class Father{ private String name = "My name is David Beckham"; //大卫贝克汉姆 public Father(){ System.out.println(this.name); } } 子类: public class Kid extends Father{ privat
2017-06-14 10:39:28 354
原创 浅谈虚拟机(2.2)如何捅出了这一刀の操作数栈
操作数栈重点知识: 操作数:待操作的数据 操作码:操作指令本身 PC(程序计数器):一个寄存器,存放操作的首地址 操作:由多条指令形成一个操作 操作数栈也是存放在栈帧中的一块内存区域,仅存放两种数据:操作数、操作码。在JVM中,用到的寄存器只有PC(程序计数器)寄存器,因此指令的存放需要一块内存区域,这个区域就是操作数栈了。 我们通过一段很简单的代码来看,操作数栈是怎样工作的。public cla
2017-06-20 20:55:29 399
原创 浅谈虚拟机(2.1)凶器简介の局部变量表
局部变量表内存 局部变量表是一组变量存储空间,用于存储方法参数和方法内部定义的局部变量(local variable)。在java进程被编译为class文件的时候,就根据方法的code属性中max_locals数据项分配了局部变量表所需的最大空间。 局部变量表以slot为最小单位,长度为32位,虚拟机规范中明确表明,每一个slot都应该能够存放一int,byte,char,short,boolea
2017-06-16 23:44:32 410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人