发布网友 发布时间:2022-02-28 14:47
共3个回答
热心网友 时间:2022-02-28 16:16
堆和栈都是内存空间管理结构,但是在堆上空间可以任意分配,而栈只能在栈顶分配。每个JVM只有一个堆,每个Thread都有一个栈。栈用来分配Java method中的局部变量,而实例变量则在堆上。打个比方,有一个长为10的空间[1-10],而你需要长为2的空间,如果是堆,可能是[1-2],也可能是[2-3],[3-4]...而栈只能是[1-2]。如果还不明白,参考《数据结构》《Java虚拟机规范》和《算法分析》中的递归与分治。热心网友 时间:2022-02-28 17:34
堆和栈都是内存的组成部分,不仅仅java中有;热心网友 时间:2022-02-28 19:09
java是应用层的东西,所有的东西都在虚拟机上,没必要深究吧