感觉不是很理解深入理解jvm对垃圾回收的区域的解释


这一段文字我有几个不理解的地方,谁能解释一下:
1.每一个栈帧分配多少内存为什么是已知的?有哪些方法要入栈不应该是运行的时候才知道吗?
2.下面说一个接口中多个实现类需要的内存不一样?前面在讨论内存是不是提前确定,现在怎么又说内存不一样的事情?到底是内存能不能确定来影响要不要收集还是内存大小不一样来影响?
3.为什么程序处于运行期间才知道会创建哪些对象?如果前面说方法可以提前知道,这里创建对象为何不能提前知道?我一个方法里创建了对象,难道不是应该运行时才知道有没有调用这个方法以及是否创建了这个对象吗?这样的描述是否前后矛盾?

这一段文字我觉得有很多歧义的地方,不知道各位是怎么理解的#Java#
全部评论
唔,就像C++的栈和堆。栈基本上是编译可知,因为栈主要是知道大小,比如数组。而堆,你是动态运行malloc,那个时候是运行状态决定大小,所以说栈是已知的。
点赞 回复
分享
发布于 2019-07-21 11:23
我也不太明白
点赞 回复
分享
发布于 2019-07-21 14:06
联想
校招火热招聘中
官网直投
楼主这个问题有解释了吗
点赞 回复
分享
发布于 2019-07-31 19:22

相关推荐

头像
03-18 09:09
Java
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务