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