栈肯定是有的,一个方法调用另一个方法,就会产生栈那样的结构,
我看过的理论好像是
堆的话,好像是全局一个,所有 用new生成的对象,都保存在堆里。
但是 按照这种理论,我也有点不懂的地方。 以垃圾回收的理论来看的话,最好的方法是 一个栈对应一个堆,然后方法栈执行完毕,清空这一个堆,垃圾回收旧算完了。这样的方式 感觉比单纯一个全局的堆 要好。
全局一个堆的话, 要维护 每个线程对应的 内存对象,垃圾回收 还得针对每一个线程,感觉有点复杂。
全局的堆 肯定是有一个的,维护那些 静态变量的 内存,公有的一些对象。
其实我也不怎么懂 jvm里面 具体的内存分配策略。 可是是错的