
JVM
ヤAssǎssìn
学海无涯 回头是岸
展开
-
JVM总结(一):运行时数据区
JVM在执行Java代码时都会把内存分为几个不同的数据区来使用,这些区域都拥有自己的用途,并随着JVM进程的启动或者用户线程的启动和结束建立和销毁。这几个区域分为: 线程私有的数据区 程序计数器 虚拟机栈 本地方法栈所有线程共有的数据区 Java堆 方法区他们之间的关系图如下:JVM运行时的数据区结构线程私有的数...原创 2018-12-19 23:29:31 · 207 阅读 · 0 评论 -
JVM总结(二):垃圾收集器
JVM总结(二):垃圾回收器垃圾回收器 对象已经死了吗? 对象生存判断算法 引用判断过程 垃圾收集算法简介 垃圾收集器 新生代垃圾收集器 老年代垃圾收集器 新生代和老年代垃圾收集器垃圾回收器对象已经死了吗?对象生存判断算法引用计数法给对象中添加一个引用计数器,每当一个地方引用到这个对象的时...原创 2018-12-20 23:36:15 · 234 阅读 · 0 评论 -
JVM总结(三):内存分配策略
内存分配策略 对象优先在新生代Eden分配 大对象直接进入老年代 长期存活的对象将进入老年代 动态对象年龄判定 空间分配担保内存分配策略Java技术体系中所提倡的自动内存管理可以归结于两个部分:给对象分配内存以及回收分配给对象的内存。 我们都知道,Java对象分配,都是在Java堆上进行分配的,虽然存在JIT编译后被拆分为标量类型并简介地在栈上进行分配。如果采用分代算...原创 2018-12-20 23:47:54 · 182 阅读 · 0 评论 -
JVM总结(四):类文件结构
类文件结构 字节码的意义 Class类文件的结构 Class类文件的存储形式 Class文件的格式 Class类文件结构详解类文件结构字节码的意义为什么存在字节码? 字节码是构成平台无关性的基石。实现语言无关性的基础是虚拟机和字节码存储格式。 Java语言中的各种变量、关键字和运算符的语义最终是由多条字节码...原创 2019-01-23 20:21:57 · 282 阅读 · 0 评论 -
JVM总结(六):JVM字节码执行引擎
JVM字节码执行引擎 运行时栈帧结构 局部变量表 操作数栈 动态连接 方法返回地址 附加信息 方法调用 解析 分派 –“重载”和“重写”的实现 静态分派 动态分派 单分派和多分派 JVM动态分派的实现 基于栈的字节码解释执行引擎 基于栈的指令集与基于寄存器的指令集JV...原创 2019-02-21 17:27:41 · 205 阅读 · 0 评论 -
JVM总结(五):JVM类加载机制
JVM类加载机制:类加载的过程 类加载过程概括 说说引用 详解类加载全过程: 加载 验证 准备 解析 初始化 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是Java虚拟机的类加载机制。 ...原创 2019-02-20 23:44:35 · 301 阅读 · 0 评论