摘要: 2.1 内存结构概述 Class 文件 类加载子系统 运行时数据区 方法区 堆 程序计数器 虚拟机栈 本地方法栈 执行引擎 本地方法接口 本地方法库 如果自己想手写一个 Java 虚拟机的话,主要考虑哪些结构呢? 类加载器 执行引擎 2.2 类加载器与类的加载过程 类加载器子系统作用 类加载器子系统 阅读全文
posted @ 2026-04-29 15:53 清风含薰 阅读(3) 评论(0) 推荐(0)
摘要: CompletableFuture "锁"事儿 悲观锁 乐观锁 自旋锁 可重入锁(递归锁) 写锁(独占锁)/读锁(共享锁) 公平锁/非公平锁 死锁 偏向锁 轻量级锁 重量级锁 邮戳锁(票据锁) JMM synchronized 及升级优化 锁的到底是什么 无锁 -> 偏向锁 -> 轻量锁 -> 重量 阅读全文
posted @ 2026-04-27 09:54 清风含薰 阅读(5) 评论(0) 推荐(0)
摘要: 13.1 关于锁的面试题 你知道 Java 里面有哪些锁? 你说你用过读写锁,锁饥饿问题是什么? 有没有比读写锁更快的锁? StampedLock 知道吗?(邮戳锁/票据锁) ReentrantReadWriteLock 有锁降级机制,你知道吗? 13.2 本章路线总纲 无锁 -> 独占锁 -> 读 阅读全文
posted @ 2026-04-27 09:50 清风含薰 阅读(2) 评论(0) 推荐(0)
摘要: 1.1 前言 作为 Java 工程师的你曾被伤害过吗?你是否也遇到过这些问题? 运行着的线上系统突然卡死,系统无法访问,甚至直接 OOM 想解决线上 JVM GC 问题,但却无从下手 新项目上线,对各种JVM参数设置一脸茫然,直接默认吧然后就JJ了 每次面试之前都要重新背一遍JVM的一些原理概念性的 阅读全文
posted @ 2026-04-25 14:47 清风含薰 阅读(4) 评论(0) 推荐(0)
摘要: 12.1 前置知识 公平锁和非公平锁 公平锁:锁被释放以后,先申请的线程先得到锁。性能较差一些,因为公平锁为了保证时间上的绝对顺序,上下文切换更频繁 非公平锁:锁被释放以后,后申请的线程可能会先获取到锁,是随机或者按照其他优先级排序的。性能更好,但可能会导致某些线程永远无法获取到锁 可重入锁 也叫做 阅读全文
posted @ 2026-04-25 08:44 清风含薰 阅读(10) 评论(0) 推荐(0)
摘要: 学习尚硅谷JVM全套教程(详解java虚拟机) 阅读全文
posted @ 2026-04-23 22:22 清风含薰 阅读(5) 评论(0) 推荐(0)
摘要: 11.1 面试题 谈谈你对 synchronized 的理解? synchronized 的锁升级,聊一聊 synchronized 实现原理,monitor 对象什么时候生成的?知道 monitor 的 monitorenter 和 monitorexit 这两个是怎么保证同步的嘛?或者说这两个操 阅读全文
posted @ 2026-04-23 16:38 清风含薰 阅读(5) 评论(0) 推荐(0)
摘要: 10.1 面试题 说一下 JUC,AQS 的大致流程 CAS 自旋锁,是获取不到就一直自旋吗?CAS 和 synchronized 区别在哪里,为什么 CAS 好,具体优势在哪里? synchronized 底层是如何实现的,实现同步的时候用到 CAS 了吗?具体哪里用到了? 对象头存储哪些信息?长 阅读全文
posted @ 2026-04-21 10:57 清风含薰 阅读(5) 评论(0) 推荐(0)
摘要: 9.1 ThreadLocal 简介 9.1.1 面试题 ThreadLocal 中 ThreadLocalMap 的数据结构和关系? ThreadLocal 中 key 是弱引用,这是为什么? ThreadLocal 内存泄漏问题你知道嘛? ThreadLocal 中最后为什么要加 remove 阅读全文
posted @ 2026-04-18 15:14 清风含薰 阅读(5) 评论(0) 推荐(0)
摘要: Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰 分类: 基本类型原子类 数组类型原子类 引用类型原子类 对象的属 阅读全文
posted @ 2026-04-16 20:05 清风含薰 阅读(7) 评论(0) 推荐(0)