Java基础原理与面试高频考点
文章目录
- 1、Java虚拟机(JVM)原理
- 内存模型与运行时数据区
- 垃圾回收机制(GC)
- 类加载机制
- 2、Java并发编程原理
- 线程模型与线程状态
- 锁机制
- 并发工具类
- 3、Java集合框架原理
- 数据结构与实现
- 集合性能对比
- 4、IO与网络编程原理
- NIO模型
- Netty框架
- 5、设计模式与系统设计
- 单例模式
- 分布式锁
- 6、面试实战技巧
1、Java虚拟机(JVM)原理
内存模型与运行时数据区
面试题:请解释JVM运行时数据区中堆、栈、方法区的作用与区别。
答案:
堆是对象实例和数组的分配区域,所有线程共享,是GC的主要管理区域。
栈用于存储局部变量表、操作数栈、方法出口等,每个线程独占一个栈。
方法区(或元空间)存储类信息、常量、静态变量等,JDK 8后由元空间替代永久代。
public class MemoryExample {public static void main(String[] args) {Object obj = new Object(); // 堆int localVar = 42; // 栈}<