JVM面试题

1、前提回顾

复制算法

标记清除算法--会导致碎片 

标记整理--耗时

 2、垃圾定义以及GCRoots

什么是垃圾--内存中已经不再被引用的就是垃圾

如何判断是否是垃圾:引用计数法、可达性算法 

引用计数法:

可达性算法

 GCRoots:

3、盘点JVM系统默认值

面试题目

1)XX参数

a

Boolean类型

 

 KV设置类型

查看所有的

面试题

 

 b、查看参数盘点家底

修改并运行在当前类

 2)常用基本参数

面试题

 

java8后,元空间默认大小是21M

一般情况下的调休,元空间的大小需要调整,因为它依赖于本地内存。其他调优参数,oracle公司一般已经是最优 了,不需要为了调优而调优。

 典型的设置案列模板:

-XX:+PrintGCDetails 

GC:

FullGC

一般这些参数的默认值不需要修改 

 java8会限制最大值是15

 4、强、软、弱、虚分别是什么

 弱引用,只要有GC,就会被回收

软、弱引用的适用场景(mybatis底层源码用了大量的软、弱引用)

 WeakHashMap 弱引用,可以用作高速缓存和对内存敏感的业务需求开发

 5、谈谈对OOM的认识

NIO程序时,会经常出现这个异常

记一次深刻的异常,电商项目、支付项目等素材:

 

6、垃圾回收算法和垃圾回收器

Parallel: 

CMS: 

java9的默认垃圾回收器是G1;java8的默认垃圾回收器是Parallel

一般互联网公司使用的java8都会把垃圾回收器改成CMS

java8默认的垃圾回收器是parallel

parallel拥有自适应调节策略 -XX:-UseAdaptiveSizePolicy

 

 

 

生产上如何选择垃圾回收器:

关于G1的面试题:

使用G1垃圾回收器后:

 

 

G1底层原理

 

 

7、JVMGC+Springboot微服务的生产部署和调参优化

8、生产问题如何定位,解决

 9、gitHub的使用

awesome 相当于官网的第二个官网,而且更全面

搜索 

 

 组合搜索使用:

 高亮显示:

10.实际生产问题排查

同样的错误报多了,就不会打印堆栈信息,所以需要找到一开始的报错有堆栈信息的日志来定位问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值