jvm 为什么要分方法区,堆,栈

jvm 为什么要分方法区,堆,栈 求大神解疑 数据存储的结构是什么样的呀 有什么好处

堆,栈,方法区等都有自己特有的内存管理方式,都有自己合适存储的内容,方便jvm去调用和管理。比如:保存new出来的对象都是在堆内存中,
要获取类的相关信息要从方法区中去寻找,栈适合保存一些变量。不清楚推荐去看一下:http://blog.csdn.net/chenbaige/article/details/57115858

推荐去看一下编译原理这本书,不同的存储结构效率是不一样的,使用价值也不一样,不只是jvm,c,c++都是这么来的

最简单的理解就是,不可能存在一个方法就可以解决所有的问题,同理,分这么多区域,就是为了适应不同的情形。