栈主要用于存储局部变量和方法的返回地址、参数等调用信息。
堆主要用于存储对象实例和数组。
JVM的垃圾回收主要是针对堆空间的一个处理,而栈空间是不会被回收的。
在一次方法的调用过程中,调用的时候数据存入栈空间,当方法执行完之后,数据就被弹出释放,
不需要像堆空间一样等待GC进行回收,所以相对而言,栈空间的生命周期会比堆空间更短。
栈主要用于存储局部变量和方法的返回地址、参数等调用信息。
堆主要用于存储对象实例和数组。
JVM的垃圾回收主要是针对堆空间的一个处理,而栈空间是不会被回收的。
在一次方法的调用过程中,调用的时候数据存入栈空间,当方法执行完之后,数据就被弹出释放,
不需要像堆空间一样等待GC进行回收,所以相对而言,栈空间的生命周期会比堆空间更短。