ouyouy level
获赞
688
粉丝
94
关注
48
看过 TA
3117
上海海洋大学
2025
Python
IP属地:上海
暂未填写个人简介
私信
关注
03-25 11:36
已编辑
上海海洋大学 Python
一面:    实习+项目多一点,尬聊    1. 自我介绍    2. 问项目基本情况    3. 项目web在手机端可以适配吗    4. 项目访问量    5. 项目最难的在哪里(后端缓存)    6. 前端有遇到什么印象深刻的问题(真不知道说啥,说了跨域)    7. 后端实习遇到什么印象深刻的问题    8. 知道客户端是做什么的吗    手撕:矩阵旋转二面:    八股盛宴    1. 自我介绍    2. 对客户端的了解    3. 讲一下JVM垃圾回收机制    4. 如何判断对象是否是垃圾    5. 哪些对象可以当作GC root    6. 垃圾回收过程中还有垃圾产生怎么办    7. 垃圾回收可能导致什么异常问题    8. Java中哪些办法创建线程    9. 线程池的参数    10. 线程池为什么会有最大线程数这个参数    11. 如何终止线程     12. TCP和UDP的区别    手撕:最长回文字串后续:看起来卡住流程了,没约三面也没挂。赶紧给个结果,挂了立马投测试update:25号打开发现挂了
给孩子个春招offer吧:客户端天坑,还是不去的好
查看18道真题和解析
0 点赞 评论 收藏
分享
拷打局,无手撕,纯折磨40分钟自我介绍业务测试各阶段关注什么提测时间紧怎么办,如何保证质量自动化测试中多个接口共享数据怎么办线上出现紧急问题怎么办项目中的MQ怎么使用的String和StringBuffer的应用场景区别讲一下垃圾回收机制youngGC和fullGC区别如何知道对象是不是垃圾多线程开发哪几种方式线程有哪几种状态前端了解多少Redis和MySQL区别ES和MySQL如何保证一致性的怎么压力测试的购物车用例设计输入URL访问网站涉及到了什么gpt了解程度职业规划
一笑而过2222:垃圾回收机制 - 作用:自动回收不再使用的内存,避免内存泄漏,使程序员无需手动管理内存,提高开发效率和程序稳定性。 - 实现方式:主要有标记-清除、复制、标记-压缩、分代收集等算法。标记-清除算法先标记垃圾对象,再回收;复制算法将存活对象复制到新区域,清空原区域;标记-压缩先标记,再将存活对象压缩到一端;分代收集根据对象存活周期不同分代管理和回收。 - 重要性:确保内存有效利用,防止内存碎片过多,维持系统性能稳定,避免因内存问题导致程序崩溃或出现异常。 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() 方法,在被回收前会执行此方法。可在方法中让对象重新与引用链上的对象关联,避免被回收,但不建议过度依赖,因为执行时机不确定。
查看20道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务