![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 88
主要介绍JVM的相关知识和实践操作
身影王座
人生在世,谦字当头;学海无涯,愿得一慧眼,以小观世界。
展开
-
第五节、虚拟机类加载机制
文章目录类加载过程加载验证准备解析初始化类加载器双亲委派模型 类加载过程 Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢? 系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 加载 类加载过程的第一步,主要完成下面 3 件事情: 通过全类名获取定义此类的二进制字节流; 将字节流所代表的静态存储结构转换为方法区的运行时数据结构; 在内存中生成一个代表该类的 Class原创 2021-10-10 16:25:10 · 99 阅读 · 0 评论 -
第四节、类文件结构
文章目录Class类文件结构魔数与class文件的版本常量池访问标志(Access Flags)当前类(This Class)、父类(Super Class)、接口(Interfaces)索引集合字段表集合(Fields)方法表集合(Methods)属性表集合(Attributes)字节码指令简介字节码与数据类型加载指令运算指令类型转换指令对象创建与访问指令操作数栈指令控制转移指令方法调用和返回指令异常处理指令同步指令 Class类文件结构 在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为原创 2021-10-09 17:26:33 · 128 阅读 · 0 评论 -
第三节、虚拟机性能监控、故障处理工具
文章目录基础故障处理工具JDK命令行工具可视化故障处理工具JConsole:Java监视与管理控制台Visual VM:多合一故障处理工具 基础故障处理工具 JDK命令行工具 这些命令在 JDK 安装目录下的 bin 目录下。 jps:查看所有 Java 进程: jps:显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一 ID(Local Virtual Machine Identifier,LVMID)。jps -q :只输出进程的本地虚拟机唯一 ID。 jps -l:输出主类的全名,如果进程执行的是原创 2021-10-08 09:49:52 · 87 阅读 · 0 评论 -
第二节、垃圾收集器与内存分配策略
文章目录堆内存分配与回收策略对象优先在 eden 区分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定空间分配担保对象已死引用计数法可达性分析算法引用不可达的对象并非“非死不可”如何判断一个常量是废弃常量?如何判断一个类是无用的类垃圾收集算法标记-清除算法标记-复制算法标记-整理算法分代收集算法垃圾收集器Serial 收集器ParNew 收集器Parallel Scavenge 收集器CMS 收集器G1 收集器ZGC 收集器 堆内存分配与回收策略 对象优先在 eden 区分配 大多原创 2021-09-29 11:26:37 · 183 阅读 · 0 评论 -
第一节、Java内存区域与内存区域溢出异常
文章目录运行时数据区域程序计数器Java 虚拟机栈本地方法栈堆方法区运行时常量池直接内存HotSpot 虚拟机对象探秘对象的创建对象的内存布局对象的访问定位String类和常量池实战:OutOfMemoryError异常Java堆溢出虚拟机栈和本地方法栈溢出方法区和运行时常量池溢出本机直接内存溢出 运行时数据区域 程序计数器 程序计数器主要有两个作用: 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。 在多线程的情况下,程序计数器用于记录当前原创 2021-09-23 16:44:04 · 226 阅读 · 0 评论