0
点赞
收藏
分享

微信扫一扫

前端性能优化-CSS 相关的性能优化策略

小月亮06 2024-08-06 阅读 29

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

2. JVM内存结构,Eden和Survivor的比例

在这里插入图片描述

3. JVM为什么要分为新生代、老年代和持久代。新生代中为什么要分为Eden区域和Survivor区。

4. JVM中一次完整的GC流程是什么样,对象如何晋升到老年代,介绍几种主要的JVM参数。

5. 介绍几种垃圾收集器,各自的优缺点,重点介绍cms和G1收集器,包括原理,流程,优缺点。

  • 优点:与用户线程并发执行,减少停顿时间。
  • 缺点:基于“标记-清除”算法,收集结束时可能会产生大量空间碎片;对CPU资源敏感;无法处理浮动垃圾。
  1. G1收集器
  • 工作原理:G1收集器是一种面向服务器的垃圾收集器,基于“标记-整理”和“复制”算法实现。他将堆空间划分为多个大小相等的独立区域,并优先收集垃圾最多的区域。
  • 优点:适用于高吞吐量的应用程序,在多个处理器之间并行的进行操作,提高处理效率。
  • 缺点:启动时间长,需要对整个堆空间进行分区,启动时间较长。需要额外的内存来存储标记信息和回收状态信息。

6. 垃圾回收算法的实现原理

7. 当出现内存溢出,怎么排查错误

8. JVM内存模型相关,重排序、内存屏障、happen-before、主内存、工作内存等。

9. Java的反射机制

10. G1和CMS区别,吞吐量优先和响应优先的垃圾收集器选择

11. 解释如下JVM参数含义

12. 运行时数据中哪些区域是线程共享的,哪些是独享的

13. 什么是TLAB

14. Java中的数组是存储在堆上还是栈上

15. Java对象创建的过程是怎样的

16. 类加载过程

17. 在Java中,可以作为GC Roots的对象有什么

18. JDK1.8 虚拟机内存模型变化

19. 频繁GC的原因

举报

相关推荐

0 条评论