JVM
文章平均质量分 79
璨若繁星
这个作者很懒,什么都没留下…
展开
-
深入理解JVM--G1垃圾收集器
深入理解JVM--G1垃圾收集器 吞吐量: 吞吐量关注的是,在一定时间内,最大化一个应用的工作量 用一段时间内同一个事务(或者任务,请求)完成的次数(tps)来衡量系统吞吐量的好坏 对于关注吞吐量的系统,卡顿是可以接受的,因为这个系统关注的是长时间大量任务的执行能力,单次快速的响应不值得考虑 响应能力: 响应能力指的是一个程序或系统对一个请求能否及时响应,比如: 一个桌面UI是否能快速...原创 2020-04-27 13:10:42 · 253 阅读 · 0 评论 -
深入理解JVM--垃圾回收器
深入理解JVM--垃圾回收器1、垃圾回收主要对象2、垃圾判断算法3、GC算法4、垃圾回收器 1、垃圾回收主要对象 堆(Heap) :Java虚拟机管理内存中最大的一块 堆里面存放对象的实例 GC的主要工作区域 线程共享 堆主要由分代算法(Generational) 分为新生代和老年代 新生代(Young Generation) 新生成的对象都放在新生代,新生代用复制算法进行GC(理论上,新...原创 2020-04-24 13:09:29 · 123 阅读 · 0 评论 -
深入理解JVM--JVM结构
深入理解JVM--JVM结构 JVM模型: 虚拟机栈(JVM Stack):一个线程对应一个JVM Stack,一个JVM Stack中包含一组栈帧(Stack Frame),栈帧是一组数据结构,封装了方法的局部变量表,动态链接信息,方法的返回地址以及操作数栈等信息。 栈帧的结构图: 局部变量表(LocalVariableTable): 每一个方法都有对应的局部变量表,用于存储方法中的局部...原创 2020-04-20 17:16:35 · 135 阅读 · 0 评论 -
深入理解JVM--字节码文件结构解析
深入理解JVM--字节码文件结构解析 在cmd窗口使用javap -verbose 类名称 命令分析一个字节码文件时,将会分析该字节码文件的魔数、版本号、常量池、类信息、类的构造方法、类中的方法信息、类变量与成员变量等信息。 魔数:所有的.class字节码文件的前4个字节都是魔数,魔数为固定值:0xCAFEBABE,若魔数不对JVM会认为该字节码文件非法而不去加载 魔数之后的4个字节为版本信息,...原创 2019-11-11 11:06:54 · 238 阅读 · 0 评论 -
深入理解JVM--类加载器深入解析
深入理解JVM--类加载器深入解析 JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到了.class文件缺失或存在错误,类加载器必须在程序首次主动使用该类时才报告错误(LinkageError错误);如果这个类一直没有被程序主动使用,那么类加载器就不会报告错误 Java虚拟机结束生命周期的几种情况 执行了System.exit();方法 程序正常执行完毕 程...原创 2019-10-29 18:13:10 · 152 阅读 · 0 评论 -
深入理解JVM--类加载全过程
深入理解JVM一、类加载器 一、类加载器 类加载 1.1 在java代码中, 类型的加载、连接与初始化过程都是在程序运行期间完成的 加载: 将磁盘中的class文件加载到内存中 连接: 1. 验证:确保被加载的类的正确性 2. 准备:为类的静态变量分配内存,并将其初始化为默认值( 此时变量的值并不 是代码中的值,而是该变量类型的默认值!如变...原创 2019-10-25 16:48:36 · 130 阅读 · 0 评论