活动介绍

JVM 基础 JAVA 并发 JVM 性能调优 LeetCode 算法 .......

preview
需积分: 0 1 下载量 160 浏览量 更新于2022-12-14 收藏 2.07MB PDF 举报
"JVM 基础知识点" JVM(Java Virtual Machine)是 Java 语言的运行环境,负责执行 Java 字节码。 JVM 的主要组件包括类加载器、字节码验证器、执行引擎和垃圾回收器等。 1. JVM 参数分类 JVM 参数可以分为三类:标注指令、非标准指令和不稳定参数。标注指令以-开头,是所有 HotSpot 都支持的参数,可以使用 java -help 打印出来。非标准指令以-X 开头,是跟特定的 HotSpot 版本对应的,可以使用 java -X 打印出来。不稳定参数以-XX 开头,是跟特定 HotSpot 版本对应的,并且变化非常大。 2. 三色标记 三色标记是一种逻辑上的抽象,将每个内存对象分成三种颜色:黑色、灰色和白色。黑色表示自己和成员变量都已经标记完毕,灰色表示自己标记完了,但是成员变量还没有完全标记完,白色表示自己未标记完。 3. 垃圾回收 垃圾回收(Garbage Collection)是 JVM 的一种机制,负责回收无用的内存对象。垃圾回收分为四个阶段:初始标记、标记Region、并发标记和重新标记。 4. JVM 垃圾回收器 JVM 中有多种垃圾回收器,包括新生代收集器(Serial、ParNew、Parallel Scavenge)、老年代收集器(CMS、Serial Old、Parallel Old)和整堆收集器(G1)。 5. STW(Stop-The-World) STW 是一种状态,在垃圾回收算法执行过程中,需要将 JVM 内存冻结的状态。在 STW 状态下,JAVA 的所有线程都是停止执行的,GC 线程除外,native 方法可以执行,但是不能与 JVM 交互。 6. 垃圾回收算法 JVM 中有多种垃圾回收算法,包括标记清除算法、拷贝算法和标记压缩算法。每种算法都有其优缺,选择合适的算法取决于具体的应用场景。 7. 确定对象是否是垃圾 确定对象是否是垃圾可以使用引用计数或根可达算法。引用计数是给堆内存中的每个对象记录一个引用数,引用数为 0 的对象就是垃圾。根可达算法是在内存中,从引用根对象向下一直找引用,找不到的对象就是垃圾。 8. 对象生命周期 一个对象从加载到 JVM,再到被 GC 清除,都经历了什么过程?包括用户创建对象、JVM 实例化对象、对象分配在堆内存中、minor GC、full GC 等阶段。 9. 排查 JVM 问题 排查 JVM 问题可以使用 jmap 查看 JVM 中各个区域的使用情况,可以使用 jstack 查看 JVM 中的线程信息。
身份认证 购VIP最低享 7 折!
30元优惠券
青青♡
  • 粉丝: 1
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源