jvm面试题汇总

从我个人以往面试经历、博客、微信公众号搜集了jvm相关的面试题,由于是从2年前开始陆续整理的,所以没法给出原文的出处,请原作者谅解

 

对JVM熟不熟悉?简单说说类加载过程,里面执行的哪些操作?问了GC和内存管理
JVM内存模型
JVM老年代和新生代的比例? 是x86还是x64,是server,还是client的模式 8/12
YGC和FGC发生的具体场景 深入了解jvm书籍
jstack,jmap,jutil分别的意义?如何线上排查JVM的相关问题?深入了解jvm书籍
-------------------------------------------------------------------------

 

 

JVM的内存结构。
JVM方法栈的工作过程,方法栈和本地方法栈有什么区别。
JVM的栈中引用如何和堆中的对象产生关联。
可以了解一下逃逸分析技术。
GC的常见算法,CMS以及G1的垃圾回收过程,CMS的各个阶段哪两个是Stop the world的,CMS会不会产生碎片,G1的优势。
标记清除和标记整理算法的理解以及优缺点。
eden survivor区的比例,为什么是这个比例,eden survivor的工作过程。
JVM如何判断一个对象是否该被GC,可以视为root的都有哪几种类型。
强软弱虚引用的区别以及GC对他们执行怎样的操作。
Java是否可以GC直接内存。可以,full gc
Java类加载的过程。
双亲委派模型的过程以及优势。
常用的JVM调优参数。
dump文件的分析。
Java有没有主动触发GC的方式

---------------------------------------------------------------------------

 

 

1. 你知道哪些或者你们线上使?什么GC策略? 它有什么优势,适?于什么场景?
2. JAVA类加载器包括?种?它们之间的??关系是怎么样的?双亲委派机 制是什么意思?有什么好处?
3. 如何?定义?个类加载器?你使?过哪些或者你在什么场景下需要?个? 定义的类加载器吗?
4. 堆内存设置的参数是什么?
5. Perm Space中保存什么数据? 会引起OutOfMemory吗?
6. 做gc时,?个对象在内存各个Space中被移动的顺序是什么?
7. 你有没有遇到过OutOfMemory问题?你是怎么来处理这个问题的?处理 过程中有哪些收获?
8. 1.8之后Perm Space有哪些变动? MetaSpace??默认是?限的么? 还是 你们会通过什么?式来指定???
9. Jstack是?什么的? Jstat呢? 如果线上程序周期性地出现卡顿,你怀疑可 能是gc导致的,你会怎么来排查这个问题?线程?志?般你会看其中的什么 部分?
10. StackOverFlow异常有没有遇到过??般你猜测会在什么情况下被触 发?如何指定?个线程的堆栈????般你们写多少?
-------------------------------------------------------------------------

 

 

 

jvm运行时数据区域有哪几部分组成,各自作用 ;
● gc算法有哪些 ; gc收集器有哪些 ;
● 简述class加载各阶段过程 ; classloader有哪些模型 ;
● 简述常用的JDK命令行工具 ;
● 简述字节码文件组成 ;
● gc:内存模型;
● gc: 垃圾回收 ;

----------------------------------------------------------------------------

 

 

 


JVM的类加载机制是什么?有哪些实现方式?
JVM的常见垃圾回收算法?
JVM调优的常见命令行工具有哪些?jpsjstatjinfojmapjhatjstack
JVM常见的调优参数有哪些?
-XX:PermSize指定方法区(永久区)的初始值,默认是物理内存的1/64, 在Java8永久区移除, 代之的是元数据区, 由-XX:MetaspaceSize指定
-XX:MaxPermSize指定方法区的最大值, 默认是物理内存的1/4, 在java8中由-XX:MaxMetaspaceSize指定元数据区的大小
G1收集器简介?以及它的内存划分怎么样的?
Java的虚拟机JVM的两个内存:栈内存和堆内存的区别是什么?
------------------------------------------------------------------------

 

 


1.请介绍一下JVM内存模型??用过什么垃圾回收器都说说呗
2、线上发送频繁full gc如何处理? CPU 使用率过高怎么办?
如何定位问题?如何解决说一下解决思路和处理方法
3、知道字节码吗?字节码都有哪些?Integer x =5,int y =5,比较x =y 都经过哪些步骤?
4、讲讲类加载机制都有哪些类加载器,这些类加载器都加载哪些文件?手写一下类加载Demo
5、知道osgi吗? 他是如何实现的??? 热部署
6、请问你做过哪些JVM优化?使用什么方法达到什么效果???
7 classforName("java.lang.String")和String classgetClassLoader() LoadClass("java.lang.String") 什么区别啊?? 类加载器不一样
-----------------------------------------------------------------------------

 

 

 


类加载机制的步骤,每一步做了什么,static和final修改的成员变量的加载时机
双亲委派模型
JVM内存管理机制:有哪些区域,每个区域做了什么
JVM垃圾回收机制:垃圾回收算法 垃圾回收器 垃圾回收策略
jvm参数的设置和jvm调优
什么情况产生年轻代内存溢出、什么情况产生年老代内存溢出
如果线上服务器频繁地出现full gc ,如何去排查
jvm调优相关

 

posted on 2020-10-13 23:35  秦羽的思考  阅读(410)  评论(0编辑  收藏  举报