jvm

灰色为线程私有

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/*
* 1,请谈谈你对jvm的理解?java8的虚拟机有什么更新?
*
* 2,什么是oom?什么是StackOverflowError?有哪些方法分析?
*
* 3,jvm的常见参数调优你知道哪些?
*
* 4谈谈jvm中,对类加载器你的认识?
*
* jvm是运行在操作系统之上的,它与硬件没有直接交互
*
*双亲委派机制:要是用类的话先去启动类加载器(BootStrap)那找,找不到的话去扩展类加载器(Extension)那找,再找不到的话
* 就去应用程序类加载器(AppClassLoader)那找,找不到的话就报类没有找到异常
* 沙箱安全:防止恶意代码污染java源代码
* 健壮性,安全性
* 程序计数器:Program Counter Register,记录了方法之间调用和执行情况,类似排班之日表
* 用来存储指向下一条指令的地址,也即将要执行的指令代码
* 它是当前线程所执行的字节码的行号指示器
*方法区:
* 栈(stack):
* 垃圾回收算法:次数上频繁收集young区
* 次数上较少收集old区
* 基本不动元空间
* (分代收集算法)
* 1,引用记数法
* 2,复制算法(copying):新生代,不会产生内存碎片但是耗空间
* 3,标记算法(Mark-Sweep):老年代一般是由标记清除或者是标记清除与标记整理混合实现,
* 节约空间,但是产生内存碎片,两次扫描,耗时严重
* 4,标记压缩(Mark-Compact):标记清除压缩,
*/
原文地址:https://www.cnblogs.com/shanbaoxin/p/11666755.html