江河水总有入海之时

对象的内存布局(在堆内存中)

对象在堆内存中分为三个部分,以HotSpot虚拟机举例对象头分为两个部分MarkWord用于存储对象自身的运行时数据 如HashCodegc分代年龄锁状态标志线程持有的锁偏向线程ID偏向时间戳这些等等数据的长度在32和64位虚拟机中分别为32 64 bit。然

duckflew Published on 2022-07-18

Java虚拟机中,对象如何分配内存?-以HotSpot虚拟机为例

首先创建对象可以通过如下的方法newclone反序列化对于普通Java对象的创建,要经过以下几个过程检查类型当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到 一个类的符号引用,并且检查这个符号引用代表的类是否已被加载

duckflew Published on 2022-07-18

Java偏向锁、轻量级锁、重量级锁 膨胀时的情况

作者:Adsf链接:https://www.zhihu.com/question/53826114/answer/160222185来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。首先简单说下先偏向锁、轻量级锁、重量级锁三者各自的

duckflew Published on 2022-03-04

Java动态代理

Java动态代理代理 顾名思义就是替代某个对象完成它的功能 在不改变原有功能的情况下 做一些附加操作就好比去看电影 你买票其实本质是买观影权, 这是电影院做了上层片方的代理人 为你提供服务 此外电影不仅可以看电影 卖票的同时也会卖零食水之类的 这就是

duckflew Published on 2021-10-10

String StringBuffer StringBuilder 的区别

String StringBuffer StringBuilder 的区别String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类

duckflew Published on 2020-09-22