1. 首页
  2. 编程面试题
  3. Java
  4. JVM

堆和栈的区别?



① 功能不同:栈内存用来存储局部变量和方法调用,而堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。

② 共享性不同:栈内存是线程私有的。堆内存是所有线程共有的。

③ 异常错误不同:如果栈内存或者堆内存不足都会抛出异常。栈空间不足:java.lang.StackOverFlowError。堆空间不足:java.lang.OutOfMemoryError。

④ 空间大小:栈的空间大小远远小于堆的。

发布者:admin,如若转载,请注明出处:https://ai1024.vip/26133.html

QR code
//