
jvm
文章平均质量分 86
逗号8080
足够专注,精益求精
展开
-
《深入理解Java虚拟机》读书笔记(四)虚拟机类加载机制
概述 类加载机制:java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程 类加载的时机 一个类型从被加载到虚拟机内存中开始,到卸载内存为止会经历 加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载七个阶段 上图中 加载 验证 准备 初始化 卸载五个阶段的顺序是可以确定的,类的加载过程必须按照这种顺序按部就班的开始,它在某些情况下可以在初始化阶段之后再开始原创 2022-02-16 20:33:38 · 604 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记(三)虚拟机性能监控、故障处理工具
基础故障处理工具 jps:虚拟机进程状况工具 jps可以列出正在运行的虚拟机进 程,并显示虚拟机执行主类(Main Class,main()函数所在的类)名称以及这些进程的本地虚拟机唯一 ID(LVMID,Local Virtual Machine Identifier) 命令格式 jps [options] [hostid] 执行案例 主要选项 选项 作用 -q 只输出LVMID,省略主类的名称 -m 输出虚拟机进程启东市传递给主类main()函数的参数 -l 输出主类的全原创 2022-02-10 21:17:22 · 1048 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记(二)垃圾收集器与内存分配策略
第三章 垃圾收集器与内存分配策略 概述 专业名词 GC(Garbage Collection) 垃圾收集 垃圾收集需要完成的三件事情 哪些内存需要回收 什么时候回收 如何回收 垃圾收集所关注的部分 —> 堆和方法区 程序计数器 虚拟机栈 本地方法栈 三个区域是随线程而生,随线程而灭的。每一个栈帧中分配多少内存基本上是在类结构确定下来就可知的,这几个区域的内存分配和回收具有确定性 堆和方法区中的内存分配和回收具有显著的不确定性一个接口的多个实现类需要的内存可能会不一样,一个方法所执行的不同条件分支原创 2022-02-10 20:45:25 · 1026 阅读 · 0 评论 -
虚拟机的垃圾收集算法
垃圾收集算法 从如何判定对象消亡的角度出发,垃圾收集算法可以划分为“引用计数式垃圾收集”(Reference Counting GC)和“追踪式垃圾收集”(Tracing GC)两大类,这两类也常被称作“直接垃圾收集”和“间接 垃圾收集”。 —《深入理解Java虚拟机》 分代收集理论 当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”的理论进行设计。分代收集建立在两个分代假说之上: 弱分代假说:绝大多数对象都是朝生夕灭的 强分代假说:熬过越多次垃圾收集过程的对象就越难以消灭 两个假说又共同奠定了原创 2022-02-04 22:19:21 · 874 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记(一)自动内存管理
第二章 自动内存管理 概述 C C++ 对内存管理拥有最高权力,拥有每一个对象的所有权 ,也承担着每一个对象声明从开始到终结的维护任务 Java 虚拟机自动内存管理 不容易出现内存泄漏和溢出的问题 但一旦出现,控制内存的权力交给了Java虚拟机,排查错误修改问题会很难 运行时数据内存 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的 字节码的行号指示器。在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数原创 2022-02-04 22:17:52 · 1378 阅读 · 0 评论