Java虚拟机中的内存模型 — 线程内存空间
(1)问题分析:
JVM(虚拟机)的内存划分
不同的数据使用的是哪一块内存空间
(2)核心答案讲解:
Java虚拟机有那几块内存空间:
1)栈内存:方法运行时所进入的内存,里面还会存储程序的局部变量
2)堆空间:new出来的数据都会进入堆内存
3)方法区:字节码文件如加载时所进入的内存
4)本地方法区:这块内存空间主要调用的是操作系统相关资源
5)寄存器:交给CPU进行使用的
案例:创建javaBean类并使用
(3)问题扩展:
案例:带有线程的内存图
1)每一个线程都会有自己独立的栈内存空间
2)堆内存中的数据是被多个线程所共享的
(4)结合项目中使用:
多线程消费同一个产品,可以将商品定义为共享资源,存放于对内存中