JVM工作的总体机制概述

JDK、JRE、JVM关系回顾

  • JVM:Java Virtual Machine,翻译过来是Java虚拟机
  • JRE:Java Runtime Environment,翻译过来是Java运行时环境
    • JRE=JVM+Java程序运行时所需要的类库
  • JDK:Java Development Kits,翻译过来是Java开发工具包
    • JDK=JRE+Java开发辅助工具

JVM工作的总体机制概述_第1张图片

Java源程序编译运行过程

Java源程序→编译→字节码文件→放到JVM上运行

JVM工作的总体机制

总体机制的粗略描述:

  • 第一步:使用类加载器子系统将 *.class 字节码文件加载到 JVM 的内存
  • 第二步:在 JVM 的内存空间存储相关数据
  • 第三步:在执行引擎中将 *.class 字节码文件翻译成 CPU 能够执行的指令
  • 第四步:将指令发送给CPU执行

JVM工作的总体机制概述_第2张图片

JVM落地产品

  • Sun公司的HotSpot
  • BEA公司的JRockit
  • IBM公司的J9 VM

JVM 底层常见的面试题

  •     说一下JVM的主要组成部分?及其作用?
  •     说一下JVM运行时数据区?
  •     队列和栈是什么?有什么区别?
  •     什么是双亲委派模型?
  •     说一下类装载的执行过程?
  •     怎么判断对象是否可以被回收?
  •     Java 中都有哪些引用类型?
  •     说一下JVM有哪些垃圾回收算法?
  •     说一下JVM有哪些垃圾回收器?
  •     详细介绍一下CMS垃圾回收器?
  •     新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?
  •     简述分代垃圾回收器是怎么工作的?
  •     说一下JVM调优的工具?
  •     常用的JVM调优的参数都有哪些?
  •     怎么获取Java程序使用的内存?堆使用的百分比?
  •     Java 中堆和栈有什么区别?
  •     你能保证GC执行吗?

 这些面试题等学完这一专栏都能游刃而解。

你可能感兴趣的:(JVM,jvm)