首页 > 试题广场 >

解释内存中的栈(stack)、堆(heap)和静态区(sta

[问答题]
请你解释一下,内存中的栈(stack)、堆(heap) 和静态区(static area) 的用法。

栈区:

  • 保存一个4字节的heap内存地址(对象引用->定位该对象实例在heao中的位置)、对象方法和基础数据类型的对象
  • 一个线程包含一个栈,私有不共享。由jvm自动分配释放
  • 栈有三个部分:1.基本类型变量区 2.执行环境上下文 3.操作指令区

堆区:

  • 保存对象的实例(属性值,属性类型,对象本身类型标记等)
  • jvm中只有一个堆区,被所有的线程共享,存储的对象由程序员分配释放

静态区/方法区:

  • 包含的是整个程序中永远唯一的元素,class、static变量
  • 所有线程共享

发表于 2020-07-22 10:29:36 回复(0)

栈区:

  • 保存一个4字节的heap内存地址(对象引用->定位该对象实例在heao中的位置)、对象方法和基础数据类型的对象
  • 一个线程包含一个栈,私有不共享。由jvm自动分配释放
  • 栈有三个部分:1.基本类型变量区 2.执行环境上下文 3.操作指令区

堆区:

  • 保存对象的实例(属性值,属性类型,对象本身类型标记等)
  • jvm中只有一个堆区,被所有的线程共享,存储的对象由程序员分配释放

静态区/方法区:

  • 包含的是整个程序中永远唯一的元素,class、static变量
  • 所有线程共享
发表于 2019-03-31 17:33:04 回复(0)