![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java底层
Java子牙
深入研究操作系统内核、PHP内核、JVM,手写过很多底层项目如:调试器、0环3环调用框架、JVM、GC算法、垃圾回收器、编译原理……
展开
-
阿里P8面试官问你:如何证明工作内存=虚拟机栈?
我们都知道主内存,即直接内存(Native Memory)。那工作内存是什么呢? 工作内存四个字,可能很多人是从周志明的《深入理解Java虚拟机》看到的,也有很多人是看文章看帖子看到的。现在网上搜到的帖子基本是照搬书里的描述,导致误导了大片大片的童鞋。 不是说周志明老师说得不对,而是表达得不够精确,导致出现了很多认知上的歧义。最近研究了下这块,写篇文章记录下我的研究结果。 我这边先抛个结论给大家:工作内存 = 虚拟机栈,对否?大家先想想。 volatile 不知道童鞋们有么有这样的疑问: 为什么需要vo原创 2020-11-03 21:52:31 · 9846 阅读 · 15 评论 -
讲完如何从Java字节码层面去理解New一个对象,面试官都懵了!
在Java的世界中,可以有多种方式生成一个对象。new是其中一种,也是使用最频繁的一种。今天咱们就来八一八new的实现细节以及与new相关的一些高端面试题。 new的实现细节我会从两个角度分析:Java字节码层面、openjdk源码层面。 与new相关的面试题有哪些呢?一、如何理解new是非原子操作?二、在高并发环境下,DCL需要加volatile,为什么? 对象大小是何时知晓的 new是用来生成对象的,对象是有大小的,那对象的大小是何时确定的呢?如果你没有看过openjdk源码,你肯定以为是在生成对象的时原创 2020-10-24 16:39:41 · 2394 阅读 · 7 评论