Java虚拟机中的内存模型
1.考察目标
- JVM(虚拟机)的内存划分
- 不同的数据使用的是那一块内存空间
2.题目分析
-
java虚拟机有哪几块内存空间
-
栈内存:方法[运行时]所进入的内存,里面还会存储程序的局部变量
-
堆内存:new出来的都会进入堆内存
-
方法区:字节码文件加载时所进入的内存
-
本地方法区:这块内存空间主要调节的是操作系统相关资源
public static native long currentTimeMills(); -
寄存器:交给CPU进行使用的
-
-
案例:创建javaBean类并使用
3.问题扩展
- 案例:带有线程的内存图
- 1.每一个线程都会有自己独立的栈内存空间
- 2.堆内存中的数据。是被多个线程所共享的
4.应用场景
- 多线程消费同一个商品,可以将该商品定义为共享资源,存放于堆内存中
本文深入探讨了Java虚拟机(JVM)的内存模型,详细解释了JVM内存的划分,包括栈内存、堆内存、方法区和本地方法区的功能与用途。通过案例分析,展示了不同数据类型如何分配到相应的内存区域,以及多线程环境下内存的共享机制。
2569

被折叠的 条评论
为什么被折叠?



