基本信息

Lv3
子牙_公号硬核子牙

对编程语言的设计与实现有浓厚兴趣。聚焦Hotspot源码、Linux内核研究,硬核干货分享

荣誉勋章

Lv3
  • JVM专家聊字符串常量池(一)
    本文主要跟大家聊聊字符串常量池,即Java代码中的字符串在JVM中到底是如何存储的。如果我们来写一个JVM,我们如何处理字符串。这个问题很简单了,使用散列表,即hashtable。Java世界存在两个hashtable类型结构:Java的HashTable及HashMap,纯Java实现的
  • 暴力破解美团最新JVM面试题:无限执行
    昨天Java圈,美团曝出了一道**级面试题:为什么栈溢出后线程没有崩溃?为什么这段代码会永远执行下去?我的几个交流群、VIP群,争论不休,看大家都在Java层找答案。很明显,这个问题的答案不在Java层,接下来咱们分析下这个问题,然后一起去找答案,争取下次被问到,一举击溃面试官的心理防线
  • 带你用Java实现JVM篇一:实现字节码文件解析器
    今天开始更新正式内容的第一篇:带你用Java实现字节码文件解析器。什么是解析器?解析器干些什么?要怎么实现?有哪些需要注意的地方?Hotspot源码中有解析器吗?
  • 最新研发面试题,Java中的静态方法为什么不能调用非静态方法
    昨晚京东大佬勇哥在群里分享了一道他新创的JVM面试题,Java中的静态方法为什么不能调用非静态方法?我听完后觉得还挺有意思的,分享给大家
  • 死磕synchronized五:系统剖析偏向锁篇二
    近期准备写一个专栏:从Hotspot源码角度剖析synchronized。前前后后大概有10篇,本篇文章是针对synchronized修饰方法这种情况写的。关于synchronized代码段,其实除了lock record外,差别不大。
  • 死磕synchronized四:系统剖析偏向锁篇一
    近期准备写一个专栏:从Hotspot源码角度剖析synchronized。前前后后大概有10篇,从本篇文章开始,给大家分享我对偏向锁的研究成果。synchronized刚开始引入偏向锁的时候我就觉得很奇怪:轻量级锁已经是应用态的锁了,为什么还要搞一个偏向锁,后面花了很长时间研究这个问题,并找到了答案
  • 死磕synchronized三:系统剖析延迟偏向篇二
    近期准备写一个专栏:从Hotspot源码角度剖析synchronized。前前后后大概有10篇,本篇文章是从Hotspot源码角度分析延迟偏向机制:新创建的对象的锁是是如何被延迟偏向影响的、延迟偏向之前加载的类的初始锁是什么锁、延迟偏向之后加载的类是无锁还是偏向锁
  • 死磕synchronized二:系统剖析延迟偏向篇一
    近期准备写一个专栏:从Hotspot源码角度剖析synchronized。前前后后大概有10篇,本篇文章聚焦分析偏向锁延迟策略:什么是延迟偏向、为什么需要延迟偏向、延迟偏向机制是怎样的、延迟偏向对锁膨胀的影响及证明、从Hotspot源码角度证明
  • 贡献一道自创的超高套路面试题
    最近在手撸JVM实现OOP的封装机制的时候,有个问题引起了我的眉头紧锁,这段创建对象的代码,在JVM内部创建了几个对象?为什么会创建Object对象呢?因为Java中所有的类都继承自Object类,所有对象的创建都会调用类的构造方法,而这些构造方法中都会调用Object的构造方法。
  • OopMap看不懂,怎么调优哇
    最近正在写三色标记算法,准备实现OopMap,梳理了JVM的OopMap机制。本文会介绍垃圾收集器各个阶段与STW、安全点、OopMap之间的关系、识别数据类型的三种算法、GC如何找到JNI线程创建的对象、哪些场景会生成OopMap记录、生成OopMap记录的几个重要方法、OopMap记录如何理解