深入java虚拟机系列
文章平均质量分 81
本系列详解java虚拟机相关知识,以《深入理解java虚拟机 》为基础进行学习,与相关扩展
皮卡肉丘
这个作者很懒,什么都没留下…
展开
-
10.JVM虚拟机-字节码指令简介
目录 1.字节码指令简介 1.1 字节码与数据类型 1.2 加载和存储指令 1.3 运算指令 1.4 类型转换指令 1.5 对象创建与访问指令 1.6 操作数栈管理指令 1.7 控制转移指令 1.8 方法调用和返回指令 1.9 异常处理指令 1.10 同步指令 1.字节码指令简介 java虚拟机指令是由(占用一个字节长度、代表某种特定操作含义的数字)操作码Opcode,以及跟随在其后的零至多个代表此操作所需参数的称为操作数 Operands 构成的。由于Java虚拟机是面向操作数栈原创 2020-07-15 11:00:09 · 125 阅读 · 0 评论 -
9. JVM虚拟机-class 文件建构
--msb 笔记 1. java从编码到执行原创 2020-07-05 20:50:44 · 131 阅读 · 0 评论 -
6.java虚拟机-深入G1垃圾收集器
https://blog.csdn.net/coderlius/article/details/79272773--详解 JVM Garbage First(G1) 垃圾收集器 1.概述 G1(Garbage-First)是JDK7-u4才推出商用的收集器;G1是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器。以极高概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征。被视为JDK1.7中HotSpot虚拟机的一个重要进化特征。G1的使命是在替换CMS,并且在JDK1...原创 2020-07-03 11:44:34 · 722 阅读 · 0 评论 -
3.JVM虚拟机-对象内存布局,访问定位
1. 工具的添加与使用 1.1 JOL(java object layout)添加: <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>put-the-version-here</version> </dependency> 1.2 JOL使用.原创 2020-06-26 14:56:53 · 268 阅读 · 0 评论 -
2.JVM虚拟机-对象的创建过程
JVM虚拟机-对象的创建过程 目录 1.创建对象的方式 2.new对象的创建过程 2.1对象创建检查: 2.2虚拟机为对象分配内存 2.2.1.内存分配方式1-指针碰撞: 2.2.2.内存分配方式2-空闲列表: 2.2.3.为对象分配内存时的线程安全问题: 2.3 对象初始化 1.创建对象的方式 public class Demo implements Cloneable, Serializable { private int id; /*get set方法.原创 2020-06-26 14:21:28 · 112 阅读 · 0 评论 -
1.JVM虚拟机-虚拟机运行时数据区
程序计数器 程序计数器是一块比较小的内存空间,存储了下一条需要执行的字节码指令的地址 如果当前PC执行的为java方法,则PC记录的是正在执行的虚拟机字节码指令的地址。如果正在执行的为native方法,则PC的值为空 Java虚拟机的多线程通过线程轮流切换并分配处理器执行时间的方式实现。在任何确定的时刻,一个处理器都只会执行一条线程中的指令。每个线程的PC记录了当前线程要执行的指令,每个线程都需要一个独立的PC,各线程之间PC互不影响,独立存储,线程私有 当前线程所执行字节码的行...原创 2020-06-26 13:38:49 · 138 阅读 · 0 评论 -
8. JVM虚拟机-性能监控和故障处理工具
https://blog.csdn.net/happyniceyq/article/details/82924588原创 2020-07-05 15:02:55 · 472 阅读 · 0 评论 -
4.JVM虚拟机-GC-垃圾回收算法
目录 1. 哪些垃圾需要回收 2. 怎样判定垃圾回收对象 2.1 引用计数法 2.1.1 优缺点 2.2.2 循环引用 2.2 可达性分析算法 2.2.1 可达性分析算法描述 2.2.2GC Roots对象 2.2.3finalize()方法拯救对象 2.3Java中的四种引用类型 2.3.1 强引用 2.3.2软引用 2.3.3弱引用 2.3.4 虚引用 2.4对象死亡(被回收)前的最后一次挣扎 2.5 方法区如何判断是否需要回收 3. 常用的垃圾收集算法 ...原创 2020-06-27 11:35:56 · 180 阅读 · 0 评论 -
7. JVM虚拟机-内存分配与回收策略
1. 对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时,虚拟机将发生一次Minor GC 虚拟机提供 -XX:PrintGCDetails这个收集器日志参数,告诉虚拟机在发生GC行为时打印内存回收日志,并且在进程退出时候输出当前运行时内存各区域的分配情况。 2.大对象直接进入老年代 3.长期存活的对象将进入老年代 4.动态对象年龄判定 5.空间分配担保 ...原创 2020-07-05 14:09:43 · 199 阅读 · 0 评论 -
5.JVM虚拟机-GC-垃圾收集器
0.基本概念 并行收集:指多条垃圾收集线程并行工作,但此时用户线程仍处于等待状态。 并发收集:指用户线程与垃圾收集线程同时工作(不一定是并行的可能会交替执行)。用户程序在继续运行,而垃圾收集程序运行在另一个CPU上。 吞吐量:即CPU用于运行用户代码的时间与CPU总消耗时间的比值 (吞吐量 = 运行用户代码时间 / ( 运行用户代码时间 + 垃圾收集时间 ))。例如:虚拟机共运行100分钟,垃圾收集器花掉1分钟,那么吞吐量就是99% 1. 垃圾回收器分类与概要描述 1.1 简单分类 总体上...原创 2020-07-03 11:37:27 · 460 阅读 · 0 评论