JVM
文章平均质量分 95
以实战为导向,系统性拆解Java虚拟机核心运行机制。专栏涵盖类加载体系、内存管理模型、对象内存分配机制、垃圾回收算法等,结合高频面试热点与生产环境调优案例,手把手带您掌握:内存泄漏定位技巧、GC日志分析方法、JVM参数调优策略、Arthas诊断工具实战。助您构建完整的JVM知识体系。
极客架构00
一个懂点技术和管理的coder。做过程序员,讲过课,做过管理,做过架构。现运动领域资深架构师。热衷技术和职场的分享。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM系列-06实战和总结
同时,java的代码也是需要优化的,一次查询出500M的对象出来,明显不合适,要根据之前说的各种原则尽量优化到合适的值,尽量消除这种朝生夕死的对象导致的full gc。查到了有大量User对象产生,这个可能是问题所在,但不确定,还必须找到对应的代码确认,如何去找对应的代码了?查到了有大量User对象产生,这个可能是问题所在,但不确定,还必须找到对应的代码确认,如何去找对应的代码了?【步骤⑥】有大量的对象频繁的被挪动到老年代,这种情况我们可以借助jmap命令大概看下是什么对象。【步骤一】 启动Arthas。原创 2025-06-04 09:20:11 · 949 阅读 · 0 评论 -
JVM系列-05常用指令与可视化调优工具
VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于Java 技术的应用程序(Java 应用程序)的详细信息。Arthas是Alibaba开源的Java诊断工具。采用命令行交互模式,可以方便的定位和诊断 线上程序运行问题。简介 | arthasGC日志可视化分析工具GCeasy和GCviewer。原创 2025-06-03 09:05:32 · 538 阅读 · 0 评论 -
JVM系列-04垃圾回收
第一类算法判断对象生死算法:如引用计数法、可达性分析算法;第二类收集垃圾(死亡)对象方法:如标记-清除算法、标记-整理算法、标记-复制算法。一般的实现采用分代回收算法,根据不同代的特点应用不同的算法。垃圾回收算法是垃圾回收的方法论,垃圾回收器是算法的落地实现。定义: 最普通的对象引用,就像我们在日常编程中使用的大多数对象引用一样例子:特点: 强引用指向的对象只要有强引用指向它,即使系统内存不足,垃圾收集器也不会回收该对象。只有当该对象没有任何强引用指向它时,才会被垃圾回收器回收。原创 2025-05-30 09:12:14 · 309 阅读 · 0 评论 -
JVM系列-03对象内存分配机制
对象头多大?16个字节= 对象标记MarkWord 8字节+ 类元信息(类元指针, 指向方法区的) 8字节。(注: 在1.3.2里面看到的类元指针是4字节,原因是压缩指针导致的)1个字节=8位, 对象标记MarkWord 是64位对象标记MarkWord里面: 有hashcode, 分代年龄, 锁....64位虚拟机。原创 2025-05-29 10:14:28 · 1537 阅读 · 0 评论 -
JVM系列-02内存结构
Program Counter Register 程序计数器(寄存器)作用: 是记录下一条需要执行的jvm 指令地址行号。特点:是线程私有的在JVM中唯一的一个不会存在内存溢出的区域每个线程运行需要的内存空间,称为虚拟机栈。每个栈由多个栈帧(Frame)组成,一次栈帧对应的一次方法的调用。说白了就是每次调用方法时所占用的内存。每个线程只能有一个活动栈帧,对应着当前正在执行的方法栈的生命期是跟随线程的生命期,线程创建时创建,线程结束栈内存也就释放,是线程私有的。原创 2025-05-28 16:54:30 · 1898 阅读 · 0 评论 -
JVM系列-01JVM加载机制
什么是JVMJava Virtual Machine ,Java 程序的运行环境(Java 二进制字节码的运行环境)好处一次编译,处处执行自动的内存管理,垃圾回收机制数组下标越界检查JVM、JRE、JDK 的关系类加载子系统负责从文件系统或是网络中加载.class文件(字节码文件),class文件在文件开头有特定的文件标识。把加载后的class类信息存放于方法区,除了类信息之外,方法区还会存放运行时常量池信息。原创 2025-05-28 09:14:37 · 567 阅读 · 0 评论
分享