随笔分类 - JVM
摘要:运行时数据区的构成 PC 程序计数器 存放指令位置 虚拟机的运行,类似于这样的循环: while( not end ) { 取PC中的位置,找到对应位置的指令; 执行该指令; PC ++; } JVM Stack Frame - 每个方法对应一个栈帧 Local Variable Tab
阅读全文
摘要:类加载流程 class 是怎么从硬盘中加载到内存中:编译 加载 初始化 Loading 双亲委派,主要出于安全来考虑 package com.mashibing.jvm.c2_classloader; public class T004_ParentAndChild { public static
阅读全文
摘要:JMM 硬件层的并发优化基础知识 硬件层数据一致性 读取缓存以cache line为基本单位,目前64bytes 位于同一缓存行的两个不同数据,被两个不同CPU锁定,产生互相影响的伪共享问题 伪共享问题:JUC/c_028_FalseSharing 使用缓存行的对齐能够提高效率 package co
阅读全文
摘要:1:JVM基础知识 什么是JVM JAVA VIRTUAL MACHINE 从编码到运行过程 jvm跟class无关。任何语言只要能遵循class的规范,一样能被jvm 运行。 JDK、JRE、JVM的关系 jvm实现 2:ClassFileFormat 整个class文件的格式就是一个二进制字节流
阅读全文
摘要:Java并发内存模型 使用JavaAgent测试Object的大小 对象大小(64位机) 观察虚拟机配置 java XX:+PrintCommandLineFlags version 对象的内存布局 在HotSpot虚拟机里,对象在堆内存中的存储布局可以划分为三个部分:对象头(Header)、实例数
阅读全文