1.JVM探究
- 谈谈你对JVM的理解?java8虚拟机和之前的变化更新?
- 什么是OOM,什么是栈溢出,StackOverflowError?怎么分析?
- JVM的常用调优参数有哪些?
- 内存快照如何抓取,怎么分析Dump文件?知道吗?
- 谈谈JVM中,类加载器的认识?rt-jar ext application
1.JVM的位置
2.JVM的体系结构
3.类加载器
- 虚拟机自带的加载器
- 启动类(根)加载器
- 扩展类加载器
- 应用程序(系统类)加载器
作用:加载Class文件~
4.双亲委派机制
1-类加载器收到类加载的请求
2-将这个请求向上委托给父类加载器区完成,一直向上委托,知道启动类加载器
3-启动加载器检查是否能够加载当前这个类,能加载就结束,使用当前的加载器,否则,抛出异常,通知子类加载
4-重复步骤3
ClassNotFound
调用不到,~C、C++
java = C + + - -
5.沙箱安全机制
对于本地代码都是受信任的,但是远程的代码是需要给定一定的权限才可以。安全机制
- 字节码校验器:确保Java类文件遵循Java语言规范。这样可以帮助Java程序实现内存保护,但并不是所有的类文件都会经过字节码校验,比如核心类。
- 类装载器:其中类装载器在3个方面对Java沙箱起作用
1. 它防止恶意代码去干涉善意代码 //双亲委派机制
2. 它守护了被信任的类库边界
3. 它将代码归入保护域,确定了代码可以进行那些操作
6.Native
7.PC寄存器
8.方法区
9.栈
10.三种JVM
11.堆
12.新生区、老生区
13.永久区
14.堆内存调优
15.GC
1.常用算法
16.JMM
17.总结