2019年6月21日

JVM学习笔记:对象的内存布局和访问定位

摘要: 对象内存布局: 对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据和对齐填充。 一、对象头包括两部分信息: 第一部分用户存储对象自身的运行时数据、如哈希码、GC分代年龄、线程持有的锁、偏向线程ID,偏向时间戳等,官方称它为”Mark Word“ 第二部分用于存放类型指针,虚拟机 阅读全文

posted @ 2019-06-21 13:55 圆码 阅读(109) 评论(0) 推荐(0)

2019年3月19日

JVM学习笔记:对象的创建

摘要: 第一步,类检测 1、当虚拟机遇到一条new指令时,首先判断new的对象是否能在运行时常量池中找到对应类的类名(书中原话:检查这个指令的参数能否在常量池中定位到一个类的符号引用)。如果没找到,应该就会抛ClassNotFound了。 2、检查类是否被加载、解析和初始化过,如果没有,就必须执行相应的类加 阅读全文

posted @ 2019-03-19 13:40 圆码 阅读(214) 评论(0) 推荐(1)

2019年3月13日

为什么用简单工厂模式,而不是直接实例化对象

摘要: 一开始了解了"简单工厂模式"之后,在关于为什么不直接实例对象,而是利用工厂类来实例对象产生了疑惑。经过多种渠道的了解,我最后的观点是:这个工厂类不仅仅就只能有实例化对象这一个功能。举例来说,如果我要在实例化这个对象之前先读取某些配置,做各种各样的预备工作呢?比如下面的代码: 客户端类: 这就是你们说 阅读全文

posted @ 2019-03-13 17:01 圆码 阅读(1398) 评论(0) 推荐(0)

导航