栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA面试题JVM篇(三)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA面试题JVM篇(三)

JAVA面试题JVM篇(三)

文章目录
  • JAVA面试题JVM篇(三)
  • 前言
  • 一、对象头具体包含哪些内容?
  • 二、你知道哪些JVM调优参数?
  • 三、如何选择垃圾收集器?
  • 四、什么是类加载器?
  • 五、什么是年轻代?
  • 总结


前言

JVM是Java的运行基础,面试的时候一定会问到,而这一部分平常在做项目的时候很少了解到。所以这块知识点偏理论知识,需要了解的东西也有很多。
到了大三的学期的暑假,即将面临找工作的考验。希望这份面试资料能够帮住大家学到自己的知识盲区。加油,我命由我不由天!!!


一、对象头具体包含哪些内容?

对象在内存中的分布实际包含3个部分:
1、对象头
2、实例数据
3、对齐填充
而对象头包含俩部分。
1、对象运行时所需的数据,也被称为Mark Word,也就是用于轻量级锁和偏向锁的关键点。具体的内容包含对象的hashcode、分代年龄、轻量级锁指针、重量级锁指针、GC标记、偏向锁线程ID、偏向锁时间戳。
2、存储类型指针,也就是指向类的元数据的指针,通过这个指针才能确定对象是属于哪个类的实例。
如果是数组的话还包含了数组的长度。

二、你知道哪些JVM调优参数?

堆栈内存相关:
1、Xms设置初始堆的大小
2、Xms设置最大堆的大小
3、Xmn设置年轻代大小,相当于同时配置-XX:NewSize和-XX:MaxNewSize位一样的值
4、-Xss每个线程的堆栈大小
5、-XX:NewSize设置年轻代大小
6、-XX:MaxNewSize年轻代最大值
7、-XX:NewRatio年轻代与年老代的比值
8、-XX:SurvivorRatio Eden区与Survivor区的的比值
9、-XX:PretenureSizeThreshold 当创建的对象超过指定大小时,直接把对象分配在老年代。
10、-XX:MaxTenuringThreshold设定对象在Survivor复制的最大年龄阈值,超过阈值转移到老年代

垃圾收集器相关:
1、 -XX:UseParallelGC:选择垃圾收集器位并行收集器。
2、-XX:ParallelGCThreads=20:配置并行收集器的线程数
3、-XX:+UseConcMarkSweepGC:设置年老代为并发收集。
4、-XX:CMSFullGCsBeforeCompaction=5 由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行5次GC以对内存空间进行压缩、整理。
5、-XX:+UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是可以消除碎片

三、如何选择垃圾收集器?

1、如果你的堆大小不是很大(比如100M),选择串行收集器一般是效率最高的。
2、如果你的应用运行在单核的机器上,或者你的虚拟机核数只有单核,选择串行收集器依然是合适的,这时候启用一些并行收集器没有任何受益。
3、如果你的应用是“吞吐量”优先的,并且对较长时间的停顿没有什么特别的要求,选择并收集器是比较好的。
4、如果你的应用对响应时间要求较高,想要教少的停顿,那么选择G1、ZGC、CMS都是合理的。

四、什么是类加载器?

类加载器是一个用来加载类文件的类。java源代码通过javac编译器编译成类文件。然后JVM来执行类文件中的字节码来执行程序。类加载器负责加载文件系统、网络或其他来源的类文件。

五、什么是年轻代?

年轻代也叫新生代,主要是用来存放新生的对象。新生代又细分为 Eden区、From区、To区。
新生的对象会被分到Eden区,如果占内存较大会被直接分配到老年代区。当Eden区内存不够的时候就会触发MinorGC(Survivor满不会引发MinorGC,而是将对象移动到老年代中)。

总结

JVM虚拟机这一块知识点,不仅在学校课中很少认真学习过,而且私下没有认真去了解。对知识点非常的生疏。很多的名词和专业术语都很陌生,学起来有点吃力,这仅是我个人的问题。希望能够坚持下去。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/999071.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号