1:Java内存分配
分配的区域名称 | 特点 | 作用 |
寄存器 | 速度最快的cq存储区,位于处理器内部,数量有限,按需分配,不能直接控制。 | 程序记数寄存器:跟踪程序执行的准确位置 堆栈指针寄存器:指示操作栈项 框架寄存器:指向当前执行的环境 变量寄存器:指向当前执行环境中第一个本地变量 |
堆栈区 | 位于通用RAM区域(随机访问寄存器)是通过指堆栈针从处理器获取支持,速度仅次于寄存器,数据可以共享。 | 用于存放基本类型的数据和对象的引用,不存对象本身。 |
堆区 | 位于通用RAM区域,特点是编译器不需要像堆栈那样知道存储数据的生命周期。 | 用于new 对象的数据 |
常量/静态存储区 | 变量永远不会被改变的区域。 | 通常用于存储项目的一些常量和一些静态变量。项目初始化的一些静态变量。 |
非RAM区域 | 不受任何程序控制,在程序没有运行是也存在。 | 把对象转换成可以存放其他媒介上的事物,在需要时 可恢复成常规 也是基于 RAM的对象,Java提供了轻量级持久化支持,如JDBC和Hibernate。 |