Java内存分配策略

一、Java程序运行时内存分配策略

  • 静态存储区(方法区):主要用于存放静态数据、全局Static数据和常量的存储区。此存储区在程序编译时就已经分配好了,并且在程序整个运行期间都存在。
  • 栈区:方法体内的局部变量都在栈上创建。
  • 堆区:又称动态内存分配区,在程序运行中通过new关键字申请的内存。

二、栈内存和堆内存区别

栈内存:方法体内部定义(局部变量)的一些基本类型变量和对象引用都是栈内存分配的。

堆内存:通过new关键字创建的对象(包括对象中所有的成员变量)和数组都存储于堆内存中。堆内存通过GC垃圾回机制自动管理堆内存。

posted @ 2021-08-21 19:26  naray  阅读(234)  评论(0编辑  收藏  举报