Java内存机制
- 基本类型的变量放在栈里;
- 封装类型中,对象放在堆里,对象的引用放在栈里。
jvm内存
JVM7逻辑内存划分:
- 程序计数器:当前线程所执行的字节码的行号指示器。
- 本地方法栈:为虚拟机使用的native方法服务。
- Java虚拟机栈:描述Java方法执行的内存模型,每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表、操作栈、动态链接、方法出口等信息。
- Java堆:被所有线程共享的一块内存区域,在虚拟机启动时创建。所有的对象实例以及数组都要在堆上分配,堆存储的是对象(一般使用new创建的数据就是对象)。
- 方法区:线程共享的内存区域,存储已被虚拟机加载的****类信息、常量、静态变量即时编译器编译后的代码数据等(这个区域的内存回收目标主要是针对常量池的回收和对类型的卸载)。
- ---主要有个概念在,知道栈,堆和方法区三块内存的作用就OK了
网友评论