
深入理解JVM
文章平均质量分 96
详细介绍内存区域、字节码、方法底层,类加载和GC等知识,深入浅出的讲解,让你快速搭建JVM体系结构。
小 明
2022博客之星TOP3/博客专家/优快云后端内容合伙人、InfoQ(极客时间)签约作者。8年开发经验,就职知名金融互联网大厂后端研发专家,专注于面试、后端、源码、架构、算法,擅长高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。
文章底部联系 -> 商务合作 | 技术交流 | 粉丝福利
展开
-
【面试精讲】Java有哪些垃圾回收器?工作原理都是什么?它们有什么区别?
本文将深入探讨Java中的Serial、Parallel Scavenge、CMS、G1主要垃圾回收器,它们的工作原理以及它们之间的区别。其中 CMS 收集器是 JDK 8 之前的主流收集器,JDK 9 之后的默认收集器为 G1原创 2024-04-01 23:42:54 · 5849 阅读 · 38 评论 -
【面试精讲】Java垃圾回收算法分析和代码示例
垃圾回收是Java内存管理中不可或缺的一部分,不同的垃圾回收算法各有优劣,适用于不同的场景和需求。现代JVM如HotSpot,提供了多种垃圾回收器,比如Serial、Parallel、CMS、G1等,它们背后的实现原理基本上是上述垃圾回收算法的变体或组合。理解这些算法的基本原理,可以帮助开发者更好地理解JVM的内存管理机制,从而写出更高效、更稳定的Java应用程序。如果本文对你有帮助 欢迎关注、评论, 博主才有动力持续记录遇到的问题!!!原创 2024-03-25 10:00:00 · 80953 阅读 · 7 评论 -
【面试精讲】JVM 的内存布局和运行原理(附代码)
JVM的内存布局分为若干个独立的区域,主要包括堆(Heap)、方法区(Method Area)、程序计数器(Program Counter Register)、虚拟机栈(VM Stack)和本地方法栈(Native Method Stack)。原创 2024-03-20 10:00:00 · 17539 阅读 · 9 评论 -
【性能优化】CPU利用率飙高与内存飙高问题
本文对CPU利用率飙高问题,内存飙高问题进行剖析。主要内容有CPU利用率飙高定位步骤、CPU飙高的原因与解决;内存飙高定位步骤以及内存飙高故障分析及解决。原创 2023-11-23 23:07:23 · 2765 阅读 · 9 评论 -
【性能优化】JVM调优与写出JVM友好高效的代码
本文讲解JVM调优的步骤、常用的JVM调优参数,如何调整堆大小和垃圾回收器,以及写出JVM友好的代码。原创 2023-11-23 21:49:43 · 1505 阅读 · 0 评论 -
【JVM】Java内存溢出分析(堆溢出、栈溢出、方法区溢出、直接内存溢出)
Java内存溢出的原因为程序在申请内存(堆/栈/方法区/直接内存等等)时,没有足够的内存空间。原创 2023-11-14 21:57:22 · 3983 阅读 · 24 评论 -
面试官:你了解过JVM是如何实现语法糖(泛型、stream)的吗?
你了解过JVM是如何实现泛型,常用的stream方法你了解多少?不懂?...一文带你了解语法糖的实现原创 2020-08-29 20:42:39 · 1341 阅读 · 0 评论 -
爆肝整理 全网最全的144道JVM面试题-全网题量最大 知识面最广 深度最深的JVM面试题新鲜出炉
点赞+评论+关注,私聊博主拿原文档原创 2020-08-24 15:10:39 · 2379 阅读 · 0 评论 -
面试官:你了解方法调用的底层实现吗?
你了解方法调用的底层实现吗?你知道什么是方法分派吗?Lambda是怎么实现的呢?...不懂?一文带你了解方法调用的底层实现原创 2020-08-23 12:25:24 · 1888 阅读 · 0 评论 -
面试官:说说你了解字节码指令和存储引擎?
字节码指令属于Class文件那个位置?常写的代码后的字节码你知道多少?Integer127的缓存能不能变?...不懂?一文带你深入浅出了解字节码指令和Java存储引擎原创 2020-08-22 15:14:56 · 576 阅读 · 0 评论 -
面试官:说说你了解Class文件结构?
你了解Class文件结构吗?那你知道为什么会有魔数吗?定义的类变量会在什么地方出现呢?...不懂?一文带你了解Class文件结构。原创 2020-08-22 10:48:36 · 1555 阅读 · 0 评论 -
面试官:你了解类加载与类加载器吗?
你了解类加载机制吗?类加载器能说一下是什么吗?如何破坏双亲委派呢,多说几种?...不懂?一文带你了解类加载与类加载器原创 2020-08-22 21:28:52 · 1728 阅读 · 0 评论 -
面试官:你了解G1垃圾回收器吗,有G1还需要其他的回收器?
你了解G1垃圾回收器吗,有G1还需要其他的回收器?有了G1为什么还要ZGC?不懂?一文带你搞懂G1垃圾回收器原创 2020-08-16 17:22:55 · 2816 阅读 · 0 评论 -
面试官:你了解垃圾回收器吗?一文精通垃圾回收器原理
你真的了解垃圾回收器吗?为什么性能好的CMS不是默认垃圾回收器呢?新生代和老年代垃圾回收器都有什么区别呢?不同场景对用的垃圾回收器你知道吗?垃圾回收器如何保证线程安全?不懂?一文带你搞懂垃圾回收器!原创 2020-08-16 13:11:12 · 1311 阅读 · 0 评论 -
面试官:你了解GC吗?一文读懂分代回收机制
你真的了解Java的分代收集吗?什么是垃圾呢?垃圾会马上被回收吗?JVM中哪些区域会被回收呢?Java/C++垃圾收集有什么不同?不懂?一文带你搞懂gc基础!原创 2020-08-15 12:35:57 · 1728 阅读 · 1 评论 -
面试官:你了解对象的分配吗?对象的分配策略,栈上分配与TLAB
JVM是如何自动进行内存管理的呢?本文详细对象的分配策略,栈上分配与TLAB,相信相信大家看完已经掌握JVM是如何管理,本文适合点赞+收藏。原创 2020-08-01 21:43:33 · 2797 阅读 · 4 评论 -
面试官:你是如何理解对象的?带你玩转JVM中的对象及引用
本文通过对象的创建步骤中的检查加载->分配内存->内存空间初始化->设置->对象初始化,对象的内存布局,什么是垃圾的两种算法以及四种引用,讲述JVM中对象及引用。原创 2020-07-31 23:10:37 · 10902 阅读 · 2 评论 -
面试官:你是如何理解JVM内存区域的?
本文详细的讲述了Java虚拟机运行时数据区的程序计数器、虚拟机栈,本地方法栈,方法区,堆,常量池,以及直接内存(堆外内存),对各个区域的作用,服务对象以及其中可能产生的问题展开讨论,本篇篇幅较长,适合点赞+收藏。有什么错误希望大家直接指出~原创 2020-07-18 21:03:41 · 6306 阅读 · 1 评论 -
并发 JVM-JMM和底层实现原理
目录并发编程领域的关键问题... 1现代计算机物理上的内存模型... 2Java内存模型(JMM)... 2JVM对Java内存模型的实现... 3Java内存模型带来的问题... 3可见性问题... 3重排序... 4Java内存模型中的重排序... 4重排序类型... 4重排序与依赖性... 4数据依赖性... 4控制依赖性... 5as-i...原创 2019-03-25 22:44:43 · 763 阅读 · 0 评论