面试真题

Java · 中等 · 阿里巴巴

JVM 内存管理与 C++ 有哪些区别?

中等 Java 🎤 阿里巴巴
参考答案
结论:JVM内存由虚拟机自动管理(GC),C++由程序员手动管理(malloc/free或new/delete)。区别:1.分配方式:JVM对象基本在堆上由GC统一分配,C++可在栈或堆,栈对象自动析构;2.释放机制:JVM通过可达性分析自动回收,C++需手动释放,易内存泄漏或悬垂指针;3.内存布局:JVM有严格运行时数据区(堆、栈、方法区等),C++内存模型更贴近系统;4.指针操作:C++支持指针运算,JVM仅用引用无算术能力;5.代价:JVM有GC停顿开销但安全,C++高效但易错。
题目整理自公开面经,答案由校招宝自研生成,仅供参考