
JVM
文章平均质量分 87
八千里路云和月laiker
等记忆中最美的晚霞
展开
-
字节码执行引擎知识点总结
以下是在学习了《深入理解JVM》之后的对知识点的总结,其中对方法调用那一章做了大量实践和分析。 文章目录解释型还是编译型基于栈还是基于寄存器字节码指令在哪儿java虚拟机栈与栈帧的关系局部变量表操作数栈动态连接方法返回地址栈帧与方法的关系字节码指令中的四个方法调用指令invokevirtual指令解析过程静态分派,重载,编译期确定动态分派,重写,运行时确定 解释型还是编译型 字节码的执行有...原创 2020-03-02 18:40:52 · 196 阅读 · 0 评论 -
简述类加载过程
文章目录1. 什么是类加载1.1 类加载的五大步骤2. 什么时候触发类加载?3. 类加载的总体流程3.1 加载过程3.2 验证过程3.3 准备过程3.4 解析过程3.5 初始化过程 < hr/> 1. 什么是类加载 1.1 类加载的五大步骤 2. 什么时候触发类加载? 3. 类加载的总体流程 3.1 加载过程 3.2 验证过程 3.3 准备过程 3.4 解析过程 3.5 初始化过程 ...原创 2020-02-29 14:01:53 · 1211 阅读 · 0 评论 -
简单介绍class文件结构
文章目录1. 什么是class文件?2. class文件的数据类型3. class文件结构3.1 magic,魔数,u43.2 minor_version,次版本号,u23.3 major_version,主版本号,u23.4 constat_pool_count和constant_pool,常量池3.5 access_flags,类访问标识符3.6 this_class和super_class,...原创 2020-02-26 22:39:39 · 418 阅读 · 0 评论 -
简述Java虚拟机的GC过程
一. 垃圾回收所针对的区域 首先Java虚拟机中共有五大内存区域: 程序计数器,Java虚拟机栈,本地方法栈,java堆,方法区 为什么不针对前三个区域: 对于前三种内存区域,他们的生存周期都是与线程相同,并且这些线程在运行之前就已经可以从类结构中确定他们所需内存,因此不需要过多的考虑他们的内存回收。 为什么针对后两个区域: 而对于java堆和方法区则不同,比如,一个泛型数组,指向的是一个父类接口...原创 2020-02-23 16:44:51 · 471 阅读 · 0 评论 -
简述Java内存区域
本编是在学习了周志明《深入理解Java虚拟机》之后,根据章节目录的提示凭借回忆来复习和总结所学内容。 1. Java五大内存区域及作用 程序计数器 书中原话是: 当前线程所执行字节码的行号指示器…在字节码解释器工作时通过改变这个计数器的值来获取下一个需要执行的字节码指令。 简单理解就是:告知程序下一步所执行的指令。 java虚拟机栈 虚拟机栈的单位是 栈帧 ,栈帧中包括有 局部变量表,操...原创 2020-02-22 20:12:57 · 120 阅读 · 0 评论