JVM
文章平均质量分 96
·云扬·
欢迎访问我的个人知识库:https://www.yuque.com/yuqueyonghunujzjn
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java虚拟机(JVM)核心知识点解析
Java虚拟机(JVM)是Java程序运行的核心环境,理解JVM的工作原理对于Java开发者来说至关重要。本文将从JVM的基本概念、内存区域、对象管理、垃圾回收机制、类加载机制、程序编译与优化等方面进行详细解析,帮助读者深入理解JVM的内部机制。原创 2025-01-23 12:32:11 · 1254 阅读 · 0 评论 -
使用 Arthas 进行 Java 线上问题诊断
Arthas 是一款功能强大的 Java 诊断工具,能够在不修改代码的情况下,实时监控和诊断 Java 应用程序的运行状态。通过 Arthas,开发者可以快速定位和解决生产环境中的问题,提升问题排查的效率。本文介绍了 Arthas 的安装和常用命令,希望能够帮助读者更好地理解和使用 Arthas。原创 2025-01-15 13:09:23 · 794 阅读 · 0 评论 -
Java 性能监控工具详解:JConsole、VisualVM 和 Java Mission Control
在 Java 应用程序的开发和维护过程中,性能监控和故障诊断是至关重要的。本文将详细介绍三款常用的 Java 性能监控工具:JConsole、VisualVM 和 Java Mission Control(JMC),并探讨它们的功能和使用方法原创 2025-01-06 22:57:03 · 1908 阅读 · 0 评论 -
CPU 100% 优化排查实战
通过本次排查,我们发现 CPU 使用率过高的问题与 Disruptor 的等待策略和线程数量有关。通过调整等待策略和应用拆分,可以有效降低 CPU 使用率。希望本次排查思路能为大家提供一些启发原创 2025-01-05 21:57:27 · 1095 阅读 · 0 评论 -
Java 内存溢出(OOM)问题的排查与解决
在 Java 开发中,内存溢出(OutOfMemoryError,简称 OOM)是一个常见且棘手的问题。相比于数组越界、空指针等业务异常,OOM 问题通常更难定位和解决。本文将通过一次线上内存溢出问题的排查过程,分享从问题表现到最终解决的完整思路,希望能为遇到类似问题的开发者提供参考原创 2025-01-04 21:21:43 · 2771 阅读 · 0 评论 -
JVM 性能监控工具之命令行篇
在 Java 开发过程中,性能监控和问题排查是开发者经常面临的任务。JDK 提供了一系列命令行工具,帮助开发者监控 JVM 运行状态、诊断内存泄漏、线程死锁等问题。本文将详细介绍这些工具的使用方法及其应用场景原创 2024-12-30 17:14:32 · 1729 阅读 · 0 评论 -
JIT 即时编译:提升 Java 性能的关键技术
在 Java 虚拟机(JVM)中,即时编译(Just In Time, JIT)技术是提升程序运行效率的重要手段。本文将深入探讨 JIT 的工作原理、触发条件、编译优化过程以及 JVM 中的编译器实现,帮助你更好地理解 JIT 如何优化 Java 程序的性能。原创 2024-12-27 13:07:48 · 1353 阅读 · 0 评论 -
Java 对象的内存分配机制详解
在 Java 中,对象的内存分配是一个复杂但非常重要的过程。理解对象在堆中的分配方式,尤其是新生代和老年代的区别,对于优化 Java 应用程序的性能至关重要。本文将详细探讨 Java 对象在堆中的分配机制,包括新生代、老年代、Survivor 区等概念,以及大对象、长期存活对象的处理方式。原创 2024-12-26 23:08:02 · 1176 阅读 · 0 评论 -
JVM 垃圾收集器详解:CMS、G1 和 ZGC
垃圾回收(Garbage Collection, GC)是 Java 虚拟机(JVM)中一个至关重要的部分,尤其是在面对不同的业务场景时,选择合适的垃圾收集器(Garbage Collector, GC)对于优化 GC 性能至关重要。本文将详细介绍 JVM 中两大类垃圾收集器:分代收集器和分区收集器,并重点分析 CMS、G1 和 ZGC 这三种垃圾收集器的工作原理、优缺点及其适用场景原创 2024-12-19 21:37:43 · 1584 阅读 · 0 评论 -
Java 垃圾回收机制详解
本篇内容我们从头到尾讲了一遍 JVM 的垃圾回收机制,包括垃圾回收的概念、垃圾判断算法、垃圾收集算法、Stop The World、新生代和老年代等等原创 2024-12-16 22:25:30 · 1487 阅读 · 0 评论 -
Java 运行时数据区详解
本文主要介绍了Java运行时数据区相关内容,包括程序计数器、Java虚拟机栈、本地方法栈、堆、方法区等内容。原创 2024-12-15 18:52:30 · 1808 阅读 · 0 评论 -
JVM 栈帧结构详解
在 Java 虚拟机(JVM)中,栈帧(Stack Frame)是用于支持方法调用和方法执行的关键数据结构。每个方法从调用开始到执行完成,都对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。本文将详细介绍 JVM 栈帧的结构及其组成部分原创 2024-12-14 22:22:47 · 1590 阅读 · 0 评论 -
深入理解 Java 字节码指令
通过本文的详细介绍,我们深入理解了 Java 字节码指令,包括算术指令、类型转换指令、对象的创建和访问指令、方法调用和返回指令、操作数栈管理指令、控制转移指令、异常处理时的字节码指令、`synchronized` 的字节码指令等原创 2024-12-13 14:34:18 · 1393 阅读 · 0 评论 -
栈虚拟机与寄存器虚拟机
在深入探讨字节码指令之前,我们首先需要了解指令集架构的基本概念。指令集架构主要分为两种:基于栈的架构和基于寄存器的架构。本文将详细介绍这两种架构的区别、各自的优缺点,以及它们在实际应用中的表现。原创 2024-12-12 13:15:40 · 1417 阅读 · 0 评论 -
深入理解 Java 字节码:从 javap 命令出发
Java 语言以其“一次编写,处处运行”(Write Once, Run Anywhere)的特性而闻名。这一特性得益于 Java 虚拟机(JVM)的存在,它能够加载并执行与平台无关的字节码(Byte Code)。本文将通过 `javap` 命令来深入探讨 Java 字节码的结构和内容,帮助读者更好地理解 Java 程序的运行机制。原创 2024-12-11 21:33:14 · 1756 阅读 · 0 评论 -
Java 类加载机制详解
在 Java 程序的运行过程中,JVM(Java 虚拟机)扮演着至关重要的角色。JVM 不仅负责执行编译后的字节码文件,还需要将这些字节码文件加载到其内部的运行时数据区域中。这个过程涉及到了 Java 的类加载机制,它是 Java 程序能够动态加载和执行代码的基础。本文将详细讲解 Java 的类加载机制,包括类加载过程、类加载器以及双亲委派模型原创 2024-12-10 08:40:10 · 914 阅读 · 0 评论 -
Java 编译与运行机制
在 Java 开发中,我们经常写代码、编译、运行,但你是否真正理解过这些过程背后的原理?今天,我们就以一个简单的 `HelloWorld` 程序为例,深入探讨 Java 代码从编写到运行的全过程。原创 2024-12-09 09:46:35 · 1626 阅读 · 0 评论 -
JVM入门
在 Java 编程的世界中,JVM(Java Virtual Machine,Java 虚拟机)是一个至关重要的概念。它不仅是 Java 程序运行的环境,更是 Java 语言“一次编译,到处运行”这一跨平台特性的核心。本文将带你深入了解 JVM 的定义、历史背景、组织架构以及它在 Java 生态系统中的重要性原创 2024-12-09 09:46:06 · 1178 阅读 · 0 评论
分享