内存基础

    1. 年轻代
      1. 新生代(Eden space)
        1. TLAB:线程缓冲,
      2. 存活区(s0)
      3. 存活区(s1)
    2. 老年代
      1. 除了full gc,major gc
    3. 基于分代假设,有些对象之存货一段时间
  1. 栈(stack)
    1. 线程栈
      1. 方法帧(Frame)
        1. 返回值
        2. 局部变量表–>
          1. this槽位
          2. 方法入参槽位
          3. 本地变量槽位
        3. 操作数栈
        4. Class指针–>常量池
  2. jvm整体架构的理解
    1. 程序计数器(pc):字节码序号
    2. Native内部线程
  3. java对象存储结构
    1. 对象头
      1. 标记字
      2. Class指针
      3. 数组长度(数组独有)
    2. 对象体
      1. 内部填补
      2. 实例数据
      3. 外部对齐
  4. 内存问题
    1. 运行环境
      1. 内存溢出
      2. 容量限制
      3. 并发过大
    2. 程序设计
      1. 序列化
      2. 缓存
      3. 引用泄露
      4. 内存泄露
  5. 内存性能指标
    1. 容量
    2. 吞吐量
      1. 内存分配速率
      2. 内存提升速率
      3. 延迟