50+道JVM面试题 + 11张思维导图就是让你懂JVM~

382 阅读3分钟

作者介绍

悟空
全栈攻城狮一枚,开发组长,自主开发了Java学习平台、PMP刷题小程序。目前主修Java多线程SpringBootSpringCloud

一、JVM大厂面试题

答案在Java刷题小程序查看

mark

image-20200808000844570image-20200808000910767

01.JVM内存区域

02.JVM中的线程

03.JVM的栈中引用如何和堆中的对象产生关联

04.逃逸分析技术

05.常见GC算法

06.CMS垃圾回收过程,CMS的各个阶段哪两个是Stop the world的

07.讲一讲G1收集器

08.标记清除和标记整理算法的理解以及优缺点?

09.eden survivor区的比例,为什么是这个比例,eden survivor的工作过程?

10.JVM如何判断一个对象是否该被GC,可以视为root的都有哪几种类型?

11.Java是否可以GC直接内存?

12.强软弱虚引用的区别以及GC对他们执行怎样的操作?

13.Java类加载的过程?

14.双亲委派模型的过程以及优势?

15.JVM方法栈的工作过程,方法栈和本地方法栈有什么区别?

16.常用的JVM调优参数?

17.dump文件的分析?

18.对象分配规则?

19.解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法

20.什么是类的加载?

21.如何⾃定义⼀个类加载器?你使⽤过哪些或者你在什么场景下需要?

22.Java对象创建过程?

23.类的生命周期?

24.垃圾收集器有哪几种?

25.如何判断一个对象是否应该被回收?

26.引用的分类?

27.调优命令

28.调优工具

29.Minor GC与Full GC分别在什么时候发生

30.你有没有遇到过OutOfMemory问题?你是怎么来处理这个问题的?处理过程中有哪些收获?

31.如果线上程序周期性地出现卡顿,你怀疑可 能是 GC 导致的,你会怎么来排查这个问题?

32.JDK1.8之后PermSpace有哪些变动?

33.StackOverflow异常有没有遇到过?⼀般你猜测会在什么情况下被触发?如何指定⼀个线程的堆栈⼤⼩?⼀般你们写多少?

34.内存模型以及分区, 需要详细到每个区放什么?

35.堆里面的分区Eden&survival(from+ to)&老年代各自的特点?

36.如和判断一个对象是否存活?

37.SafePoint是什么?

38.简述GC的三种收集方法标记清除、标记整理、复制算法的原理。

39.CMS收集器与G1收集器的特点?

40.Minor GC与Full GC分别在什么时候发生?

41.有哪几种常用的内存调试工具?

42.Java类加载的几个过程?

43.JVM 内存分哪几个区,每个区的作用是什么?

44.简述 java 垃圾回收机制?

45.Java 中垃圾收集的方法有哪些?

46.简述Java内存模型

47.简述 java 类加载机制

48.类加载器双亲委派模型机制是怎么样的?

49.为什么要有双亲委派模型?

50.什么是类加载器, 类加载器有哪些?

51.简述Java 内存分配与回收策略以及 Minor GC 和 Major GC

二、11张思维导图

1.Java概述 | 思维导图

Java概述

2.JVM内存区域 | 思维导图

JVM内存区域

3.Java垃圾收集 | 思维导图

Java垃圾收集

4.性能监控&故障处理| 思维导图

虚拟机性能监控、故障处理工具

5.调优案例分析 | 思维导图

调优案例分析

6.类文件结构 | 思维导图

类文件结构

7.类加载机制 | 思维导图

类加载机制

8.字节码执行引擎 | 思维导图

字节码执行引擎

9.程序编译与代码优化 | 思维导图

程序编译与代码优化

10.Java内存模型 | 思维导图

Java内存模型

11.Java线程 | 思维导图

Java线程

公众号

mark