问题:
1)请谈谈你对JVM的理解?java8的虚拟机有什么更新?
2)什么是OOM?什么是StackOverflowError?有哪些方法分析?
3)JVM的常用参数调优你知道哪些?
4)内存快照抓取和MAT分析DUMP文件知道吗?
5)谈谈JVM中,对类加载器你的认识?
要回答这些问题,需要对Java虚拟机有一个清晰的认识,首先就是要清楚JVM的体系结构,其次是JVM各组成部分的作用以及运行机制。
JVM体系结构概述
JVM基本概念:JVM运行在操作系统之上,是一个可以运行java代码的虚拟计算机;对于不同的平台,有不同的虚拟机,其屏蔽了底层运行平台的差别,实现了“一次编译,导出运行”。
- JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。
- JVM是运行在操作系统之上的,它与硬件没有直接的交互。
要清楚Java虚拟机的体系结构,首先要清楚JVM在整个系统环境中的位置:
首先,是JDK、JRE与JVM:
- JDK(Java Development Kit,Java开发工具包):
- 包含JRE以及一些开发工具,面向开发人员使用(开发用的)