您当前的位置: 首页 >  jvm

温故知新-JVM篇

杨林伟 发布时间:2020-01-03 16:54:13 ,浏览量:2

01 Mind Map

在这里插入图片描述

02 Question&Answer

Q1: 什么是HotSpot VM? A:热点虚拟机,当前主流,最后由Oracle公司收购。

Q2:Java内存结构是怎样的(图片) ? A: class字节码文件 -> 类加载器 -> 本地方法栈 -> Java虚拟机栈 -> Java 堆(class对象) -> 方法区 -> 执行引擎 -> 垃圾回收器 -> 寄存器

Q3: Java 堆里面分为几个区域,分别为什么? A:新生代(Eden、From、To)、老年代。

Q4: Java虚拟机栈里面包含什么? A:对象引用(地址指针)、8种基本类型、方法出口等。

Q5: 本地虚拟机栈与Java虚拟机栈区别是什么? A:执行方法考虑。

Q6: 方法区存放的是什么? A:已被虚拟机加载的类信息,如常量、静态变量、即时编译后的代码数据等。

Q7: 什么是直接内存,与堆有什么关系? A:堆外内存,堆总DirectByteBuffer作为这块内存的引用。

Q8: 什么是程序计数器,有什么特点? A:线程的信号指示器,唯一没有定义OutOfMemoryError。

Q9: 什么是执行引擎,作用是什么? A:负责执行Java字节码,编译成机器码才能执行。

Q10: System.gc()与finalize方法,调用后的效果以及什么时候被调用?

Q11: Java堆中的划分,分别名字为什么?各占比例多少? A:(8:1:1)1->2。

Q12: 如何判断对象是否存活,原理是什么? A:两种方法,第一种舍弃,第二种GCRoots。

Q13: 垃圾回收机制里用到的算法有哪些,分别用在哪个区域时间,举例子? A:标志清除算法、复制算法、分代算法、标志压缩算法等。

Q14: GC类型有哪几种,什么时候触?发效率如何? A:两种,从堆区域考虑。

Q15: JVM参数配置有哪些 A:垃圾收集器、堆初始值、堆最大值、新生代比例、新生代与老年代比例等。

Q16: tomcat调优建议,至少4条? A:从垃圾收集器、堆设置、老年代比例等多方面考虑。

Q17: 垃圾收集器有哪些? A:串行收集器、并行收集器、GMS、G1等。

Q18: 内存溢出与内存泄漏产生的原因? A:溢出?泄漏?名字即可看出。

Q19: 字节码技术的优势及应用场景? A:可以动态修改java字节码。

Q20: 常见的字节码操作库有那些?

Q21: 类加载器的流程是怎样的?

Q22: 热部署与热加载的区别,什么情况下使用?

关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 2浏览

    0关注

    3279博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0466s