“面试不败计划”——垃圾垃圾回收

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> “面试不败计划”——垃圾垃圾回收

1、你知道哪些垃圾回收算法?

垃圾回收从理论上非常容易理解,具体的方法有以下几种: 1. 标记-清除 2. 标记-整理 3. 分代回收

更详细的内容参见深入理解垃圾回收算法:

2、如何判断一个对象是否应该被回收

这就是所谓的对象存活性判断,常用的方法有两种: 1.引用计数法; 2:对象可达性分析.

由于引用计数法存在互相引用导致无法进行GC的问题,所以目前JVM虚拟机多使用对象可达性分析算法.

3、简单的解释一下垃圾回收

Java 垃圾回收机制最基本的做法是分代回收。内存中的区域被划分成不同的世代,对象根据其存活的时间被保存在对应世代的区域中。一般的实现是划分成3个世代:年轻、年老和永久。内存的分配是发生在年轻世代中的。当一个对象存活时间足够长的时候,它就会被复制到年老世代中。对于不同的世代可以使用不同的垃圾回收算法。进行世代划分的出发点是对应用中对象存活时间进行研究之后得出的统计规律。一般来说,一个应用中的大部分对象的存活时间都很短。比如局部变量的存活时间就只在方法的执行过程中。基于这一点,对于年轻世代的垃圾回收算法就可以很有针对性.

4、调用System.gc()会发生什么?

通知GC开始工作,但是GC真正开始的时间不确定.

原文地址:https://sihai.blog.csdn.net/article/details/80643850

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> “面试不败计划”——垃圾垃圾回收


 上一篇
SpringMVC+RestFul详细示例实战教程(实现跨域访问) SpringMVC+RestFul详细示例实战教程(实现跨域访问)
一、理解 RESTREST(Representational State Transfer),中文翻译叫“表述性状态转移”。是 Roy Thomas Fielding 在他2000年的博士论文中提出的。它与传统的 SOAP Web 服务区别
2021-04-04
下一篇 
“面试不败计划”——面试题基础三 “面试不败计划”——面试题基础三
1、& 和 &&的区别 首先记住&是位操作,而&&是逻辑运算符.另外需要记住逻辑运算符具有短路特性,而&不具备短路特性. publicclassTest{ static
2021-04-04