Java对象
会飞的鱼3YH
这个作者很懒,什么都没留下…
展开
-
Java 对象访问定位-思维导图
Java对象访问定位笔记图建立对象是为了使用对象,Java程序需要通过栈上的reference数据来操作堆上的具体对象。reference类型在Java虚拟机规范中只规定了一个指向对象的引用,而对象访问方式是取决于虚拟机实现而定的。目前主流的访问方式有:使用句柄、直接指针。...原创 2019-08-21 19:09:01 · 158 阅读 · 0 评论 -
Java 对象的内存布局-思维导图
内存布局笔记图一、在HotSpot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头、实例数据、对齐填充。主要结构如上图所示。二、对象的内存分配: 对象的内存分配,往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接在栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,并按线程优先在TLAB上分配。少数情况下也可能直接分...原创 2019-08-21 18:54:30 · 196 阅读 · 0 评论 -
JVM 对象的创建过程
虚拟机遇到一条new指令时:1.检查这个指令的参数是否能在常量池中定位到一个类的符号引用; 检查这个符号引用的类是否已被加载、解析和初始化过。 (如果没有,那必须先执行相应的类加载过程)2.为新生对象分配内存。 对象所需的内存大小在类加载完成后便可以确定,把一块确定大小的内存从Java堆中划分出来。 如果Java堆中内存是绝对规整的,所有用过的内存都放在一边...原创 2019-08-21 14:18:34 · 128 阅读 · 0 评论