news 2026/4/3 6:08:48

实习面试题-Java 虚拟机面试题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实习面试题-Java 虚拟机面试题

1.Java 中有哪些垃圾回收算法?

回答重点

关于垃圾回收算法,其实不用死记硬背,它们本质上就是处理内存碎片的几种不同策略

你就想象成我们在打扫房间,主要有这么三种流派:

1)标记-清除算法(Mark-Sweep),这是最基础的流派:

它的逻辑很简单:先遍历一遍,把有用的东西打个勾(标记),然后把没打勾的垃圾直接扔掉(清除)。 但这有个大坑,就是内存碎片

你想啊,你把垃圾扔了,空出来的地方东一块西一块的,像蜂窝煤一样。下次想放个大件家具(大对象),明明总空间够,但就是找不到一块完整的地儿,这就很尴尬。

![images](https://i-blog.csdnimg.cn/img_convert/148c79792957c11ce96c380ed737ad17.png) 100%

为了解决碎片问题,就有了复制算法

2)复制算法(Copying)

它把内存一分为二,平时只用一半。回收的时候,把活着的对象全部复制到另一半去,整整齐齐排好,然后把原来那一半直接清空。

好处是快,而且绝对没有碎片。坏处也很明显,太浪费空间了,得空着一半地盘不能用。

![images](https://i-blog.csdnimg.cn/img_convert/1e17702bd7f96e6b1969891467352d24.png) 100%

不过,在 Java 的新生代里,因为绝大部分对象都是

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 2:58:52

linux用户配置.profile 和 .bashrc 的区别

好的,这是一个非常经典的 Linux 问题。profile 和 bashrc 文件的区别核心在于 Shell 的启动模式。 简单来说: profile 系列文件 在 登录 (Login) 时加载,用于设置环境变量和运行一次的命令。bashrc 文件 在 交互式 (Interactive) 和非登录 Sh…

作者头像 李华
网站建设 2026/3/30 23:56:51

如何高效攻克实分析?Royden经典教材学习指南

如何高效攻克实分析?Royden经典教材学习指南 【免费下载链接】实分析第四版RoydenH.L资源下载分享 - **文件名**: Real analysis 4ed ( Royden H.L).pdf- **文件类型**: PDF- **适用课程**: 实变函数泛函分析- **推荐机构**: 国立交通大学 项目地址: https://gitc…

作者头像 李华
网站建设 2026/4/2 8:29:33

mlua-rs v0.9:Rust与Lua交互的革命性突破

mlua-rs v0.9:Rust与Lua交互的革命性突破 【免费下载链接】mlua High level Lua 5.4/5.3/5.2/5.1 (including LuaJIT) and Roblox Luau bindings to Rust with async/await support 项目地址: https://gitcode.com/gh_mirrors/ml/mlua 你是否曾为Rust与Lua交…

作者头像 李华
网站建设 2026/4/1 22:59:38

Yaak API测试工具终极指南:从入门到精通的完整教程

Yaak API测试工具终极指南:从入门到精通的完整教程 【免费下载链接】yaak The most intuitive desktop API client. Organize and execute REST, GraphQL, WebSockets, Server Sent Events, and gRPC 🦬 项目地址: https://gitcode.com/GitHub_Trendin…

作者头像 李华
网站建设 2026/3/30 9:46:30

DTIIA 4.8、清扫器

概述清扫器是输送机输送散状物料时必须装备的部件之一。本系列设计有 头部清扫器 和 空段清扫器 两类清扫器。1、头部清扫器头部清扫器 装设于 输送机头部卸料滚筒处,用以清扫输送带工作面上粘附的物料,并使其落人头部漏斗中。本手册列入的头部清扫器有两…

作者头像 李华
网站建设 2026/3/27 7:13:12

Knip终极指南:轻松清理JavaScript和TypeScript项目中的无用代码

Knip终极指南:轻松清理JavaScript和TypeScript项目中的无用代码 【免费下载链接】knip ✂️ Find unused files, dependencies and exports in your JavaScript and TypeScript projects. Knip it before you ship it! 项目地址: https://gitcode.com/gh_mirrors/…

作者头像 李华