java虚拟机
酒醉梦醒
JAVA
展开
-
真正理解String#intern
真正理解String#internintern作用intern用来返回常量池中的某字符串,如果常量池中已经存在该字符串,则直接返回常量池中该对象的引用。如果在常量池找不到对应的字符串,则不会再将字符串拷贝到常量池,而只是在常量池中生成一个对原字符串的引用。案例分析请先看字符串常量池,不然真的理解不透彻jdk1.8测试:案例一:public static void main(Stri...原创 2020-04-30 17:48:08 · 396 阅读 · 0 评论 -
深入解析String及字符串常量池
文章目录深入解析String及字符串常量池引子查看常量池常量例子编译期可确定的例子编译期不可确定的例子参考文章及书籍深入解析String及字符串常量池引子在研究ThreadLocal的时候研究到了WeakRefrence,然后对它测试如下 测试一: String s = "sd"; WeakReference weakReference = new WeakRefer...原创 2020-04-30 16:31:11 · 862 阅读 · 2 评论 -
java虚拟机类加载机制与反射全解
java虚拟机类加载机制与反射全解类加载的过程:类的加载:类的连接:验证:准备:解析:类的初始化:类加载器: 类加载器简介: 类加载器机制: 双亲委派模型: 破坏双亲委派模型: 创建自定义的类加载器:反射查看类信息:反射生成并操作原创 2017-06-17 17:38:46 · 872 阅读 · 0 评论 -
由JAVA对象布局到锁的原理
文章目录由JAVA对象布局到锁的原理前言对象的内存布局对象头 ObjectHeader(12Byte)实例数据对齐填充测试对象内存布局轻量级锁与偏向锁的性能对比重量级锁的性能计算hash后不可偏向由JAVA对象布局到锁的原理前言本文基于64位虚拟机做测试对象的内存布局hotspot的虚拟机中,对象的内存布局包括三个部分,对象头,实例数据,对齐填充对象头 ObjectHeader(12B...原创 2019-07-16 18:06:35 · 440 阅读 · 0 评论 -
JVM内存区域
文章目录JVM内存区域前言内存区域划分程序计数器虚拟机栈本地方法栈堆方法区运行时常量池元空间(1.8)实例参考资料JVM内存区域前言接触JVM有一段时间了,有很多地方还是不太懂,又怕写的有错误人子弟,一直拖到现在,打算出一个JVM专题,以后会慢慢更新。内存区域划分程序计数器当前线程执行字节码的行号指示器,多线程是通过线程轮流切换并分配处理时间执行的,为了线程切换后能回到正确的位置执行...原创 2019-07-19 15:22:42 · 257 阅读 · 0 评论