随笔分类 -  深入理解JVM系列

摘要:转载自:https://www.jianshu.com/p/841c5ca7e85c 锁 Synchronized 锁 偏向锁 轻量级锁 重量级锁、轻量级锁和偏向锁之间的转换 重量级锁 自旋锁 1、Synchronized public class SynchronizedDemo { public 阅读全文
posted @ 2021-08-12 11:47 tuanz 阅读(204) 评论(0) 推荐(0)
摘要:转载自:https://www.jianshu.com/p/f8b99068ef4b 内存模型【下】 volatile 所释放和获取的内存语义 concurrent包的实现 final 1、volatile volatile变量自身具有下列特性: 可见性。对一个volatile变量的读,总是能看到( 阅读全文
posted @ 2021-08-12 11:28 tuanz 阅读(39) 评论(0) 推荐(0)
摘要:内存模型 并发模型分类 Java内存模型抽象 重排序 数据依赖性 数据竞争与顺序一致性保证 1、并发模型分类 在并发编程中,我们要解决线程之间通信及同步,通常考的是两种机制:内存共享、消息传递 同步是指程序用于控制不同线程之间操作发生相对顺序的机制。在共享内存并发模型里,同步是显式进行的。程序员必须 阅读全文
posted @ 2021-08-12 11:02 tuanz 阅读(56) 评论(0) 推荐(0)
摘要:加载与字节码执行 加载过程 加载器 字节码执行 1、加载过程 类的整个生命过程:加载、连接(验证、准备、解析)、初始化、使用和卸载五个阶段 加载阶段。虚拟机主要完成以下工作 通过一个类的全限定名来获取定义此类的二进制字节流 将这个字节流所代表的的静态存储结构转换为方法区的运行时数据结构 在内存中生成 阅读全文
posted @ 2021-08-11 18:08 tuanz 阅读(81) 评论(0) 推荐(0)
摘要:结构与内存管理 目录: JVM运行时数据区 对象访问 垃圾回收算法 内存分配机制 内存回收 1、JVM运行时数据区 程序计数器 用来选取下一条需要执行的字节码指令、分支,来执行循环、跳转、异常处理、线程恢复等基础功能。 在任何一个确定的时刻,一个处理器只会执行一条线程中的指令。因此,为了线程切换后能 阅读全文
posted @ 2021-08-11 15:01 tuanz 阅读(61) 评论(0) 推荐(0)
摘要:JVM深入理解(一) JVM是什么 JRE、JDK和JVM 的关系 JVM原理 1、JVM是什么? JVM是Java Virtual Machine(Java虚拟机)的缩写,由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。 他是帮助我们将java代码 生成编译后 的 c 阅读全文
posted @ 2021-08-11 11:19 tuanz 阅读(118) 评论(0) 推荐(0)