您的位置 首页 java

Java面试宝典—JVM知识

JVM 知识有⼀一条清晰的主线,那就是类的⽣生命周期。

类加载相关的知识主要描述怎么将 class ⽂文件加载到内存,转换成特定的数据结构,⽣生成

Class 对象。加载完成后,就是对象实例例的内存分配和内存布局。紧接着是类中的⽅方法开

始执⾏行行,字节码执⾏行行的⽅方式,主内存和⼯工作内存之间的交互等等。最后就是对象的回收了,怎么回收?有哪些回收器器?都有什什么异同?

最后就是综合性质的知识,怎么通过 jvm 知识对系统进⾏行行调优等

1. Jvm 包括那⼏几⼤大部分

2. 什什么情况下会发⽣生栈内存溢出

3. JVM 的内存结构, Eden 和 Survivor ⽐比例例

4. JVM 内存为什什么要分成新⽣生代,⽼老老年年代,持久代。新⽣生代中为什什么要分为 Eden 和Survivor

5. JVM 中⼀一次完整的 GC 流程是怎样的,对象如何晋升到⽼老老年年代

6. Jvm 什什么情况下会回收⽅方法区

7. 你知道哪⼏几种垃圾收集器器,各⾃自的优缺点,包括原理理,流程,优缺点

8. 详细介绍下 CMS 垃圾回收器器

9. 垃圾回收算法的实现原理理

10. 分析问题时,⽤用过哪些 jdk ⾃自带的命令⾏行行

11. 简单介绍下 class ⽂文件的结构

12. 有通过 Java 字节码分析问题吗?怎么通过 jdk ⾃自带命令查看字节码?说⼏几个常⻅见的指令?

13. 当出现了了内存溢出,你怎么排错

14. JVM 内存模型的相关知识了了解多少,⽐比如重排序, 内存屏障 , happen-before,主内存,工作内存等

15. 简单说说你了了解的类加载器器,可以打破双亲委派么,怎么打破

16. 线程 有哪些实现⽅方式? Java 的线程是怎么实现的

17. 线程有哪些调度⽅方式? Java 是怎么调度的?设置优先级靠谱吗

18. 类加载包括哪些流程,每个流程都主要进⾏行行哪些⼯工作?

19. 运⾏行行时栈帧结构时怎么样的?

20. 虚拟机⽅方法调⽤用的是在什什么阶段确定调⽤用⽅方法的版本的? 重载 ( overload )和重写( override )分别是在什什么阶段实现的?

21. Java 是基于栈还是基于寄存器器的?两者有什什么区别?

22. 你们线上应⽤用的 JVM 参数有哪些

23. g1 和 cms 区别,吞吐量量优先和响应优先的垃圾收集器器选择

24. 怎么打出线程栈信息

25. 请解释如下 jvm 参数的含义:

26. -server -Xms512m -Xmx512m -Xss1024K

27. -XX:PermSize=256m -XX:MaxPermSize=512m

28. XX:MaxTenuringThreshold=20 XX:CMSInitiatingOccupancyFraction=80

29. XX:+UseCMSInitiatingOccupancyOnly。

30. 当 new ⼀一个对象时,会发⽣生哪些操作?

31. 同时起两个线程,⼀一个线程 OOM 挂了了,另⼀一个线程会受到影响吗?

文章来源:智云一二三科技

文章标题:Java面试宝典—JVM知识

文章地址:https://www.zhihuclub.com/184700.shtml

关于作者: 智云科技

热门文章

网站地图