java的jvm初认识

52 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天,点击查看活动详情****

java的jvm初认识

  • jvm是由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收、堆、一个存储方法域组成的;可以运行Java代码的环境。
  • jvm是运行在操作系统之上,即跟系统硬件没有任何交互关系。
  • java代码执行顺序:代码编译为class、装载class、执行class。
  • 内存管理
    • 内存空间:方法区、堆、方法栈、本地方法栈、PC寄存器。
    • 内存分配:堆上分配、TLAB分配、栈上分配。
    • 内存回收
      • 算法:COPY、MARK-SWEEP、MARK-COMPACT
      • SUN-JDK
        • 分代回收
          • 新生代可用GC:串行coping、并行回收coping、并行coping
          • MINOR-GC触发机制以及日志格式
          • 旧生代(也叫老年代)可用GC:串行MARK-SWEEP-COMPAT、并行COMPACTing、并发MARK-SWEEP
          • FULL-GC触发机制以及日志格式
        • GC参数
        • G1
    • 内存状况分析:JCONSOLE、VISUALVM、JSTAT、JMAP、MAT
  • 线程资源同步和交互机制
    • 线程资源同步
      • 线程资源执行机制
      • 线程资源同步机制:SYNCHRONIZED的实现机制、LOCK/UNLOCK的实现机制
    • 线程交互机制
      • OBJECT.WAIT/NOTIFY/NOTIFYALL-DOUBLE CHECK PATTEM
      • 并发包提供的交互机制:SEMAPHORE、COUNTDOWNLATCH
    • 线程状态及分析方法:JSTACK、TDA

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 5 天,点击查看活动详情****