堆heap与栈stack职责

Heap和Stack都是用来在RAM中存放数据的地方,Java自动管理堆和栈,程序员无法干预

栈内存:方法中的一基本类型变量和对象的应用变量都在栈内存中分配
栈的优势:存取速度比堆要快,仅次于直接位于CPU中的寄存器
缺点:存在栈中的数据大小与生存期必须时确定的,不灵活;栈数据在多个线程或者多个栈之间是不可以共享的

堆内存:一般new出来的数组,对象之类都是堆内存分配的。
堆的优势:在于和动态分配内存大小,生存期也不必事先告诉编译器;缺点是要在运行时动态分配内存,存取速度较慢

JVM内存模型之堆栈

 

 

 

Java内存区域中比较重要的几个部分:程序计数器,栈,堆,方法区,它们都定义在被称作运行时数据去的区域中
其中程序计数器与栈是随县城启动而生,县城结束而灭亡的,也就属于线程私有。而堆和法方区是由JVM启动时创建且被所有线程共享的。

相关文章:

  • 2021-05-27
  • 2021-08-22
  • 2022-12-23
  • 2022-01-12
  • 2021-06-13
  • 2022-12-23
猜你喜欢
  • 2021-04-03
  • 2021-11-20
  • 2021-04-01
  • 2021-09-02
  • 2021-07-23
  • 2022-01-21
  • 2021-04-20
相关资源
相似解决方案