详解JVM运行原理及Stack和Heap的实现过程
2)为什么不把根基范例放堆中呢?由于其占用的空间一样平常是1~8个字节——必要空间较量少,并且由于是根基范例,以是不会呈现动态增添的环境——长度牢靠,因此栈中存储就够了,假如把他存在堆中是没有什么意义的(还会挥霍空间,后头声名)。可以这么说,根基范例和工具的引用都是存放在栈中,并且都是几个字节的一个数,因此在措施运行时,他们的处理赏罚方法是同一的。可是根基范例、工具引用和工具自己就有所区别了,由于一个是栈中的数据一个是堆中的数据。最常见的一个题目就是,Java中参数转达时的题目。 3)Java中的参数转达时传值呢?照旧传引用?措施运行永久都是在栈中举办的,因而参数转达时,只存在转达根基范例和工具引用的题目。不会直接传工具自己。 Java在要领挪用转达参数时,由于没有指针,以是它都是举办传值挪用 PS:堆和栈中,栈是措施运行最基础的对象。措施运行可以没有堆,可是不能没有栈。而堆是为栈举办数据存储处事,说白了堆就是一块共享的内存。不外,正是由于堆和栈的疏散的头脑,才使得Java的垃圾接纳成为也许。 深入领略JVM道理对付我们平常调试题目照旧很有辅佐的,运维不只仅是学一些Linux呼吁就可以的,假如要往深方面研究的话许多时辰开拓的对象要必要会一点的。 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |