秋招面试题- - -JVM篇(二十二)

     前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈

                                     再次渡入繁世,人潮汹涌,眼里茫然,信仰永恒,皆为华夏   

目录

进阶篇

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

32、 什么是类加载器?

33、什么是 tomcat 类加载机制?

本期分享到此为止,关注博主不迷路,叶秋学长带你上高速~~


进阶篇

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

1. 如果你的堆大小不是很大(比如 100MB),选择串行收集器一般是效率最高的。

参数:-XX:+UseSerialGC。

2. 如果你的应用运行在单核的机器上,或者你的虚拟机核数只有单核,选择串行收集器依然是合

适的,这时候启用一些并行收集器没有任何收益。

参数:-XX:+UseSerialGC。

3. 如果你的应用是“吞吐量”优先的,并且对较长时间的停顿没有什么特别的要求。选择并行收集

器是比较好的。

参数:-XX:+UseParallelGC。

4. 如果你的应用对响应时间要求较高,想要较少的停顿。甚至 1 秒的停顿都会引起大量的请求失

败,那么选择G1、ZGC、CMS都是合理的。虽然这些收集器的 GC 停顿通常都比较短,但它

需要一些额外的资源去处理这些工作,通常吞吐量会低一些。

参数:

-XX:+UseConcMarkSweepGC、

-XX:+UseG1GC、

-XX:+UseZGC 等。

从上面这些出发点来看,我们平常的 Web 服务器,都是对响应性要求非常高的。选择性其实就集

中在 CMS、G1、ZGC上。而对于某些定时任务,使用并行收集器,是一个比较好的选择。

32、 什么是类加载器?

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

33、什么是 tomcat 类加载机制?

在 tomcat 中类的加载稍有不同,如下图:

当 tomcat启动时,会创建几种类加载器: Bootstrap 引导类加载器 加载 JVM启动所需的类,以及标准扩展类(位于jre/lib/ext 下) System 系统类加载器 加载 tomcat 启动的类,比如

bootstrap.jar,通常在 catalina.bat 或者 catalina.sh中指定。位于CATALINA_HOME/bin下。

Common 通用类加载器

本期分享到此为止,关注博主不迷路,叶秋学长带你上高速~~

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶秋学长

走过路过不要错过

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值