《深入理解Java虚拟机》读书笔记
LanyuanXiaoyao's Blog ヽ(✿゚▽゚)ノ

《深入理解Java虚拟机》读书笔记

2017-11-04

前言

2017年9月校招季,广州金山WPS二面,面试官对我说:你写了这么久的Java连Java是什么都不知道,盲点太多,你都快瞎了
想想面试官说得在理,吃了太多原理的亏,遂拿起了这本《深入理解Java虚拟机 JVM高级特性与最佳实践》,我也不知道我能不能看完,但是总归是一个开始,然后慢慢一个字一个字地爬,总归能爬到终点的吧,我试着这么鼓励我自己

目录

  • 第一部分 走进Java
    • 第1章 走近Java
      • 1.1 概述
      • 1.2 Java技术体系
      • 1.3 Java发展史
      • 1.4 Java虚拟机发展史
      • 1.5 展望Java技术的未来
        • 1.5.1 模块化
        • 1.5.2 混合语言
        • 1.5.3 多核并行
        • 1.5.4 进一步丰富语法
        • 1.5.5 64位虚拟机
      • 1.6 自己编译JDK
        • 1.6.1 获取JDK源码
        • 1.6.2 系统需求
        • 1.6.3 构建编译环境
        • 1.6.4 进行编译
        • 1.6.5 在IDE工具中进行源码调试
      • 1.7 本章小结
  • 第二部分 自动内存管理机制
    • 第2章 Java內存区域与内存溢出异常
      • 2.1 概述
      • 2.2 运行时数据区域
        • 2.2.1 程序计数器
        • 2.2.2 Java虚拟机栈
        • 2.2.3 本地方法栈
        • 2.2.4 Java堆
        • 2.2.5 方法区
        • 2.2.6 运行时常量池
        • 2.2.7 直接内存
      • 2.3 Hotspot虚拟机对象探秘
        • 2.3.1 对象的创建
        • 2.3.2 对象的内存布局
        • 2.3.3 对象的访问定位
      • 2.4 实战:Out Of Memory Error异常
        • 2.4.1 Java堆溢出
        • 2.4.2 虚拟机栈和本地方法栈溢出
        • 2.4.3 方法区和运行时常量池溢出
        • 2.4.4 本机直接内存溢出
      • 2.5 本章小结
    • 第3章 垃圾收集器与内存分配策略
      • 3.1 概述
      • 3.2 对象已死吗
        • 3.2.1 引用计数算法
        • 3.2.2 可达性分析算法
        • 3.2.3 再谈引用
        • 3.2.4 生存还是死亡
        • 3.2.5 回收方法区
      • 3.3 垃圾收集算法
        • 3.3.1 标记-清除算法
        • 3.3.2 复制算法
        • 3.3.3 标记-整理算法
        • 3.3.4 分代收集算法
      • 3.4 hotspot的算法实现
        • 3.4.1 枚举根节点
        • 3.4.2 安全点
        • 3.4.3 安全区域
      • 3.5 垃圾收集器
        • 3.5.1 Serial收集器
        • 3.5.2 Parnew收集器
        • 3.5.3 Parallel Scavenge收集器
        • 3.5.4 Serial Old收集器
        • 3.5.5 Parallel Old收集器
        • 3.5.6 CMS收集器
        • 3.5.7 G1收集器
        • 3.5.8 理解GC日志
      • 3.6 内存分配与回收策略
        • 3.6.1 对象优先在Eden分配
        • 3.6.2 大对象直接进入老年代
        • 3.6.3 长期存活的对象将进入老年代
        • 3.6.4 动态对象年龄判断
        • 3.6.5 空间分配担保
      • 3.7 本章小结
    • 第4章 虚拟机性能监控与故障处理工具
    • 第5章 调优案例分析与实战
  • 第三部分
  • 第四部分
  • 第五部分

相似文章

评论