酷家乐测开二面

拷打局,无手撕,纯折磨40分钟

  1. 自我介绍
  2. 业务测试各阶段关注什么
  3. 提测时间紧怎么办,如何保证质量
  4. 自动化测试中多个接口共享数据怎么办
  5. 线上出现紧急问题怎么办
  6. 项目中的MQ怎么使用的
  7. String和StringBuffer的应用场景区别
  8. 讲一下垃圾回收机制
  9. youngGC和fullGC区别
  10. 如何知道对象是不是垃圾
  11. 多线程开发哪几种方式
  12. 线程有哪几种状态
  13. 前端了解多少
  14. Redis和MySQL区别
  15. ES和MySQL如何保证一致性的
  16. 怎么压力测试的
  17. 购物车用例设计
  18. 输入URL访问网站涉及到了什么
  19. gpt了解程度
  20. 职业规划
全部评论
垃圾回收机制 - 作用:自动回收不再使用的内存,避免内存泄漏,使程序员无需手动管理内存,提高开发效率和程序稳定性。 - 实现方式:主要有标记-清除、复制、标记-压缩、分代收集等算法。标记-清除算法先标记垃圾对象,再回收;复制算法将存活对象复制到新区域,清空原区域;标记-压缩先标记,再将存活对象压缩到一端;分代收集根据对象存活周期不同分代管理和回收。 - 重要性:确保内存有效利用,防止内存碎片过多,维持系统性能稳定,避免因内存问题导致程序崩溃或出现异常。 Young GC和Full GC的区别 - 回收区域:Young GC主要处理年轻代,年轻代分为Eden区和Survivor区。Full GC则针对整个堆内存,包含年轻代、老年代和永久代(Java 8前)或元空间(Java 8及以后)。 - 触发条件:Young GC通常在Eden区满时触发。Full GC触发条件有老年代内存不足、元空间内存不足、显式调用 System.gc() 、大对象直接进入老年代导致空间不够、晋升对象大小超过Survivor区剩余空间等。 - 回收算法:Young GC一般采用复制算法,效率高。Full GC可能采用标记-清除、标记-压缩等算法,根据堆内存不同区域特点选择。 - 回收时长和频率:Young GC频率高,每次回收时间短。Full GC频率低,但耗时久,对系统性能影响大,因为要扫描整个堆内存。 - STW(Stop-The-World)影响:Young GC产生的STW时间相对短,Full GC的STW时间较长,会导致应用程序暂停响应。 如何判断对象是否是垃圾 - 引用计数法:对象有一个引用计数器,每有一个引用指向它,计数器加1,引用失效则减1,为0时可回收。优点是简单高效,缺点是无法解决循环引用,会造成内存泄漏。 - 可达性分析法:以GC Roots为起点,通过引用链遍历,不可达的对象为垃圾。GC Roots包括虚拟机栈局部变量表、方法区类静态属性和常量引用的对象、本地方法栈JNI引用的对象等。此方法能解决循环引用问题,是主流判断方式。 - finalize()方法:对象可重写 finalize() 方法,在被回收前会执行此方法。可在方法中让对象重新与引用链上的对象关联,避免被回收,但不建议过度依赖,因为执行时机不确定。
1 回复 分享
发布于 02-07 11:18 广东
怎么感觉好难🤯请问佬进三面了吗
点赞 回复 分享
发布于 01-16 12:16 四川
好巧啊 我也今天二面
点赞 回复 分享
发布于 01-06 19:17 山西

相关推荐

评论
2
8
分享

创作者周榜

更多
牛客网
牛客企业服务