2021最新版JVM虚拟机面试题有哪些

发布时间:2021-10-13 10:26:51 作者:iii
来源:亿速云 阅读:135

本篇内容介绍了“2021最新版JVM虚拟机面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.什么情况下会发生栈内存溢出。

2021最新版JVM虚拟机面试题有哪些

2.详解JVM内存模型

思路: 给面试官画一下JVM内存模型图,并描述每个模块的定义,作用,以及可能会存在的问题,如栈溢出等。

我的答案:

JVM内存结构

2021最新版JVM虚拟机面试题有哪些

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

2021最新版JVM虚拟机面试题有哪些

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

2021最新版JVM虚拟机面试题有哪些

5.你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms和G1,包括原理,流程,优缺点。

2021最新版JVM虚拟机面试题有哪些

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

思路: 先画出Java内存模型图,结合例子volatile ,说明什么是重排序,内存屏障,最好能给面试官写 以下demo说明。

我的答案:

1)Java内存模型图:

2021最新版JVM虚拟机面试题有哪些

Java内存模型规定了所有的变量都存储在主内存中,每条线程还有自己的工作内存,线程的工作内存中 保存了该线程中是用到的变量的主内存副本拷贝,线程对变量的所有操作都必须在工作内存中进行,而不能直接读写主内存。不同的线程之间也无法直接访问对方工作内存中的变量,线程间变量的传递均需要自己的工作内存和主存之间进行数据同步进行。

2)指令重排序。

在这里,先看一段代码

public class PossibleReordering { static int x = 0, y = 0; static int a = 0, b = 0; public static void main(String[] args) throws InterruptedException { Thread one = new Thread(new Runnable() { public void run() { a = 1; x = b; } });Thread other = new Thread(new Runnable() { public void run() { b = 1; y = a; } }); one.start();other.start(); one.join();other.join(); System.out.println(“(” + x + “,” + y + “)”);}

运行结果可能为(1,0)、(0,1)或(1,1),也可能是(0,0)。因为,在实际运行时,代码指令可能并不是严格按照代码语句顺序执行的。大多数现代微处理器都会采用将指令乱序执行(out-of-order execution,简称OoOE或OOE)的方法,在条件允许的情况下,直接运行当前有能力立即执行的后续指令,避开获取下一条指令所需数据时造成的等待3。通过乱序执行的技术,处理器可以大大提高执行效率。而这就是

指令重排

2021最新版JVM虚拟机面试题有哪些

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

2021最新版JVM虚拟机面试题有哪些

双亲委派模型图:

2021最新版JVM虚拟机面试题有哪些

8.说说你知道的几种主要的JVM参数

2021最新版JVM虚拟机面试题有哪些

2021最新版JVM虚拟机面试题有哪些

2021最新版JVM虚拟机面试题有哪些

9.怎么打出线程栈信息。

2021最新版JVM虚拟机面试题有哪些

10.强引用、软引用、弱引用、虚引用的区别?

2021最新版JVM虚拟机面试题有哪些

2021最新版JVM虚拟机面试题有哪些

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

2021最新版JVM虚拟机面试题有哪些

12.堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。

2021最新版JVM虚拟机面试题有哪些

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

2021最新版JVM虚拟机面试题有哪些

14.java 中垃圾收集的方法有哪些?

2021最新版JVM虚拟机面试题有哪些

2021最新版JVM虚拟机面试题有哪些

15.java 内存模型

2021最新版JVM虚拟机面试题有哪些

2021最新版JVM虚拟机面试题有哪些

16.java 类加载过程?

2021最新版JVM虚拟机面试题有哪些

[图片上传失败...(image-1724a6-1618753895697)]

17. 简述 java 类加载机制?

虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验,解析和初始化,最终形成可以被虚拟机直接使用的 java 类型。

18. 类加载器双亲委派模型机制?

当一个类收到了类加载请求时,不会自己先去加载这个类,而是将其委派给父类,由父类去加载,如果此时父类不能加载,反馈给子类,由子类去完成类的加载。

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

2021最新版JVM虚拟机面试题有哪些

20.简述 java 内存分配与回收策率以及 Minor GC 和 Major GC

“2021最新版JVM虚拟机面试题有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 2021有哪些最新版的Dubbo面试题
  2. 2021有哪些最新版的Elasticsearch面试题

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

jvm

上一篇:到底什么是阻塞Blocking

下一篇:SQL Server2008数据库导入导出兼容性的处理方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》