李兄,谢谢你的回答。我又证实了一遍,毕老师是面是这样讲的“不加静态时ticket堆内存中是共享数据,加static时在方法区中是共享数据”,
我上面文字描述是对的,但图片上的文字写反了,你也弄错了。
不加static时,只有new了一个Ticket对象才会有ticket变量,又因为new出来的对象都是放在堆内存里面,
所以说不加static 时ticket是在堆中的共享数据;
加了static 的数据放在方法区中:常量池在方法区中,和堆不是相同的概念。不要把常量池和堆混起来。
按照Inside the java virtual machine这本书上的说法,static的数据放在方法区中。
|