面试必问:JVM原理和调优(附面试题)
一、详解JVM内存模型
二、JVM中一次完整的GC流程是怎样的
三、GC垃圾回收的算法有哪些
四、简单说说你了解的类加载器
五、双亲委派机制是什么,有什么好处,怎么打破
六、说说你JVM调优的几种主要的JVM参数
七、JVM调优
八、类加载的机制及过程
九、Jdk1.7到Jdk1.8 java虚拟机发⽣了什么变化?
十、你们项目如何排查JVM问题 ?
十一、深拷贝和浅拷贝
十二、说⼀下JVM中,哪些可以作为GC root
十三、JVM诊断工具有哪些?
十四、为什么要使用STW?
一、详解JVM内存模型
JVM有本地方法栈、虚拟机栈、程序计数器、堆、方法区。
JVM内存分为共享区(可以被所有方法(线程)直接访问)和私有区(对线程来说是私有的,其他线程无法直接访问)。
在共享区里包含着堆和方法区,在私有区里包含着程序计数器、虚拟机栈和本地方法栈。
程序计数器PC:是一个行号计数器,程序在进行跳转时,我们要记住跳转的行号,它方便我们的程序进行还原。
虚拟机栈:包含了Java方法执行时的状态,每一个Java方法都会在虚拟机栈里面创建一个栈帧,里面存放局部变量表、 *** 作数栈、动态链接、方法出口等。
本地方法栈:跟虚拟机栈类型,在用于调用 *** 作系统的底层方法时才会创建栈帧。
堆:用来保存着Java程序运行时的变量,比如new的对象。
方法区:则保存着静态的东西,比如静态变量、常量、类的信息、方法的申明等。
课程如下
本文已被【CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】
收录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)