logo

Java 中 Stack(栈)和 Heap(堆)内存有什么区别?

What is the difference between stack and heap memory in Java?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: easy

分类: Programming Fundamentals

标签: Stack, Heap, GC, Memory Model

参考答案摘要

答案 Stack(栈)是线程私有内存,用于方法调用栈帧,保存局部变量、参数、返回地址等,分配/回收速度快,随方法结束自动释放;Heap(堆)是进程内共享内存,用于存放对象实例与数组,生命周期由 GC 管理,分配更灵活但开销更大。常见理解是:局部基本类型值通常在栈上(或被优化),对象本体在堆上,栈上保存的是对象引用;堆可能出现内存泄漏或 GC 压力,栈更可能出现 StackOverflow(递归过深...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

Java 中 Stack(栈)和 Heap(堆)内存有什么区别?

Easyjavamemory

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案