news 2026/9/27 5:51:21

实习面试题-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/9/26 7:34:07

揭秘Kubernetes Pod网络:从veth pair到跨节点通信

前言 在Kubernetes集群中,Pod是最小的部署单元,而Pod之间的网络通信是K8s网络模型的核心。理解Pod网络原理不仅有助于日常故障排查,还能让我们更好地设计分布式应用。本文将深入浅出地介绍Kubernetes Pod网络的工作原理,重点关注v…

作者头像 李华
网站建设 2026/9/26 14:50:09

Microdot框架使用指南:构建轻量级Python Web应用

Microdot框架使用指南:构建轻量级Python Web应用 【免费下载链接】microdot The impossibly small web framework for Python and MicroPython. 项目地址: https://gitcode.com/gh_mirrors/mic/microdot Microdot是一个极简的Python Web框架,专为…

作者头像 李华
网站建设 2026/9/25 13:42:08

Unity XR交互工具包示例:10个实用功能全面解析

Unity XR交互工具包示例:10个实用功能全面解析 【免费下载链接】XR-Interaction-Toolkit-Examples This repository contains various examples to use with the XR Interaction Toolkit 项目地址: https://gitcode.com/gh_mirrors/xri/XR-Interaction-Toolkit-Ex…

作者头像 李华
网站建设 2026/9/26 16:49:51

3大智能办公效率提升方案:Home Assistant深度应用指南

在快节奏的现代办公环境中,效率瓶颈往往隐藏在看似平常的设备操作和空间管理中。Home Assistant作为开源智能家居平台,通过其灵活的自动化脚本和设备联动能力,能够为办公场所提供智能化的解决方案。本文将从问题识别、技术实现到部署优化的完…

作者头像 李华
网站建设 2026/9/26 18:29:04

Vue.Draggable终极实战:构建企业级树形拖拽管理系统

Vue.Draggable终极实战:构建企业级树形拖拽管理系统 【免费下载链接】Vue.Draggable 项目地址: https://gitcode.com/gh_mirrors/vue/Vue.Draggable 还在为复杂的组织架构调整而烦恼吗?面对多层级菜单排序需求是否感到束手无策?本文将…

作者头像 李华