JVM
识1DD编程
识1DD编程噶程序猿
展开
-
简单介绍Java中的Unsafe类
概述 sun.misc.Unsafe类旨在仅由核心Java库(JUC包下的类)而非标准用户使用的底层机制,即不推荐开发者使用,但并不妨碍我们对该类的了解。Unsafe可以使Java直接进行内存的操作、实例化类与对实例进行属性操作、提供CAS操作等底层操作,下文将对这些功能进行简单的案例演示,实际开发中依旧不推荐使用,只作为Java体系中的一个知识点了解即可。 Unsafe实例构建 内部类创建Unsafe类实例时都是调用其静态方法getUnsafe(),具体源码如下: public static Unsafe原创 2020-07-31 17:43:05 · 246 阅读 · 0 评论 -
Java对象内存布局(JOL)
前言 Java对象的内存布局主要由对象头(Object Header)、实例数据(instance data)、对齐填充(padding)三部分组成。 对象头:存储对象的基础信息(如锁状态、GC状态、元数据等),12byte 实例数据:存储对象实例数据 对齐填充:如果对象存储的字节数并非8的倍数,则将存储字节数填充到8的倍数以便对象的查找 HotSpot JVM使用称为oops(Ordinary Object Pointers-普通对象指针)的数据结构来表示指向对象的指针,这些oop相当于本机C指针,原创 2020-07-21 17:56:56 · 1129 阅读 · 2 评论