java堆,栈问题
补充说明:栈,主要存放引用和基本数据类型;堆,用来存放new 出来的对象实例,包括对象变量以及对象方法。java中很少自己操作堆栈,除非对性能有严格要求的情况下,例如netty的内存管理。但深刻理解堆栈的区别,有助于写出更优秀的程序。栈是跟着线程的,每个线程有一个栈。而堆只有一个,一个jvm只有一个堆内存。栈也是线程私有的,生命周期与线程相同。java中广义的栈,指的就是此处内存。每个方法在执行时,都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每个方法调用到执行完毕,都对应一个栈帧在虚拟机栈中入栈出栈的过程。
赞0
踩0