深入理解java虚拟机——笔记提纲

本文是对于深入理解java虚拟机的笔记和提纲整理

主要用于复习和知识点快速复习

第二章:内存结构

笔记:https://blog.csdn.net/qq_41157876/article/details/107189395

2.1 内存结构

  • 方法区
  • 本地方法栈
  • 程序计数器

2.2 直接内存

2.3 对象创建过程

  • 检查类加载
  • 分配内存地址(CAS / TLAB)
  • 地址数据清零
  • 设置对象头
  • 执行构造方法 <init>()等

2.4 对象内存布局

  • 对象头(MarkWord + KlassWord + (数组))
  • 实例数据(父类数据 + 本类数据)
  • padding

2.5 对象的访问定位

  • 句柄访问
  • 直接指针访问(Hotspot使用)

第三章:垃圾回收

笔记:https://blog.csdn.net/qq_41157876/article/details/107748251

3.1 判断对象是否可回收

  • 引用计数算法
  • 可达性分析算法

3.2 四种引用

  • 强引用
  • 软引用
  • 弱引用
  • 虚引用

3.3 finalize()方法

3.4 垃圾回收

  • 三个假说(朝生夕灭,越熬越久,跨代引用少)
  • 安全区域的概念
  • GC分类
  • 垃圾回收算法(标记清除,标记整理,复制)
  • jvm实际回收算法
  • 记忆集和卡表
  • 并发问题下如何标记GC ROOT(增量更新,原始快照)

3.5 垃圾回收器

  • Serial
  • SerialOld
  • ParNew
  • Parallel Scavenge
  • Parallel Old
  • CMS(运行流程,优缺点)
  • G1(概述及运行流程,特点,其他细节,优缺点)

第四章:类加载

笔记:https://blog.csdn.net/qq_41157876/article/details/107798188

4.1 Java运行流程

  • 运行期
  • 编译期

4.2 Class类文件结构

4.3 字节码指令

  • 初始化和构造(<cinit>()V,<init>()V)
  • 方法调用(静态绑定(解析,非虚方法)/动态绑定(分派,虚方法))
    • invokevirtual
    • invokespecial
    • invokespecial
  • invokevirtual执行流程(多态原理)
  • vtable和itable

4.4 类加载机制

  • 加载(用类加载器将字节码载入方法区中)
  • 连接
    • 校验(检验类是否符合jvm规范)
    • 准备(为静态变量分配内存并设置初始值)
    • 解析(将常量池内的符号引用替换为直接引用)
  • 初始化(执行static的内容 <cinit>(),懒加载)

4.5 类加载器

  • 三个加载器(BootStrap / Extension / Application)
  • 双亲委派机制
  • 破坏双亲委派机制(线程上下文类加载器TCL)

第四章:前端与后端优化

笔记:https://blog.csdn.net/qq_41157876/article/details/107884006

5.1 前端优化(编译期优化) —— 语法糖

  • 语法糖的概念
  • 前端优化 / 语法糖
    • 泛型
    • 最常用的语法糖
      • 拆箱装箱
      • 循环遍历 for( int a : list)
      • 变长参数 public static void main( String[] args )
    • if语句优化
    • 默认构造器
    • .....

5.2 后端优化(.class文件 转 二进制机器码 / 运行期)

  • 解释器和即时编译器
  • JIT优化技术
    • 方法内联
    • 逃逸分析
    • 公共子表达式消除

第五章 高效并发

笔记:https://blog.csdn.net/qq_41157876/article/details/112605136

6.1 Java内存模型

  • 缓存一致性(Cache Coherence)
  • JAVA内存模型JMM

6.2 线程

  • Java线程的实现

6.3 线程安全与锁优化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值