2020-5-9 开始阅读深入理解java虚拟机

深入理解java虚拟机笔记

day1 读完前三章

  • 关于Jit编译器和解释器和关系,见博客:https://www.cnblogs.com/insistence/p/5901457.html
  • HotSpot VM,相信所有Java程序员都知道,它是Sun
    JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。这款虚拟机在JIT编译上有许多优秀的理念和实际效果
    java虚拟机采用混合编译。

java内存区域

垃圾收集器与内存分配策略

对象存活判定算法
  • 引用计数算法一种垃圾回收算法(java虚拟机没有使用这种算法)
  • 可达性分析算法
垃圾收集算法
  • 标记-清除算法
  • 复制算法(现在的商业虚拟机都采用这种收集算法回收新生代)
  • 标记-整理算法 (收集老年代)
  • 分代收集算法(当前虚拟机的垃圾收集都采用分代收集算法)
垃圾收集器
  • Serial 收集器
  • ParNew 收集器
  • Paraller Scavenge 收集器(新生代收集器,使用复制算法的收集器,并行的多线程收集器,目标则是达到一个可控制的吞吐量。
  • Serial Old收集器
  • Parallerl Old 收集器
  • CMS收集器(是一种以获取最短回收停顿时间为目标的收集器)
  • G1收集器

day2 编译jdk源码

  • 教程:mac下编译openjdk1.8

  • mac环境下安装homebrew 出现curl: (7) Failed to connect to
    raw.githubusercontent.com port 443: Connection refused-解决方法点此链接

  • count find freetype 错误将上面教程中的命令改成

    --with-target-bits=64 \
    --with-debug-level=slowdebug \
    --with-freetype-include=/usr/local/include/freetype2 \
    --with-freetype-lib=/usr/local/Cellar/freetype/2.10.1/lib \
    --enable-debug-symbols \ ZIP_DEBUGINFO_FILES=0 
    

    要注意freetype路径改成自己的

day3 完成前5章,仔细阅读前三章内容

jdk的命令行工具
  • jps虚拟机进程状况工具
  • jstat 虚拟机统计信息监视工具
  • jinfo java配置信息工具
  • jmap Java内存映像工具
  • jhat 虚拟机堆存储快照分析工具
  • jstack Java堆栈跟踪工具
  • hsdis JIT生成代码反汇编

day4 看完虚拟机执行子系统(6,7,8,9章)

类文件结构
  • Class文件的头4个字节称为魔数,确定这个文件是否为一个能被虚拟机接受的Class文件。
  • 常量池(数量不固定)主要两大类常量:字面量和符号引用
  • 分析Class文件字节码的工具:javap
  • 访问标志 识别类或接口层次的信息
  • 类索引,父类索引和接口索引 这三项数据来确定这个类的继承关系
  • 字段表集合 用于描述接口或者类中声明的变量
  • 方法表集合
  • 属性表集合 在Class文件、字段表、方法表中都可以携带自己的属性表集合
字节码指令
  • 字节码与数据类型
  • 加载与存储指令
  • 运算指令
  • 类型准换指令
  • 对象创建与访问指令
  • 操作数栈管理指令
  • 控制转移指令
  • 方法调用和返回指令
  • 异常处理指令
  • 同步指令
虚拟机类加载机制
  • 加载、验证、准备、初始化和卸载这五个阶段的顺序是确定的,但解析阶段则不一定,它在某些情况下可以在初始化阶段之后再开始

day4看完最后两章,做书上的实验

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值