初学JAVA,关于JAVA虚拟机对对象数据管理,读过一些文章 ,从文中得知栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)和对象句柄。 栈有一个很重要的特殊性,就是存在栈中的数据可以共享。
那问题是栈这种数据结构是后进先出类型的,JVM如何进行一个数据共享?
这个。。。当栈内容太多,查找是很费时间的,但由于是手动分配内存的,有固定的生命周期,比较节省空间,而且堆里面存放的是对象,不存在引用或者共享的事啦
这和栈的后进先出有什么关系嘛,栈的共享不是一个变量指向一个引用,当有下一个变量出现时,去比较该变量的值和当前变量的是否相同,如果相同就引向同一个引用而以啊
JVM的栈不是共享的,每个线程都有一个独立的栈。堆中的数据才可以共享。