在计算机内存中主要来自四个地方:heap segment(堆区)、stack segment(栈区)、codesegment(代码区)、data segment(数据区)。

  • 堆区:用来存放动态产生的数据,比如new出来的对象。注意创建出来的对象只包含属于各自的成员变量,并不包括成员方法。因为同一个类的对象拥有各自的成员变量,存储在各自的堆中,但是他们共享该类的方法,并不是每创建一个对象就把成员方法复制一次。
  • 栈区:主要存放Java程序运行时所需的局部变量、方法的参数、对象的引用以及中间运算结果等数据。
  • 代码区:主要存放Java的代码。
  • 数据区:主要存放静态变量及全局变量。
    Java------内存分配
    参考链接:
    【java中的内存分配】:https://www.cnblogs.com/shiguangshuo/p/4858446.html
    【Java 内存分配全面浅析】:https://blog.csdn.net/shimiso/article/details/8595564

相关文章: