关于栈数据共享
来源:1-5 JAVA内存模型
慕神2874530
2019-03-13
老师,这个是我二刷了,现在听到您说,栈数据共享,我的理解是,共享的是数据本身,像基础数据类型,先定义一个int a=3 再定义一个int b=3,这个时候b其实就用的a的3,就是赋值的时候,先在栈中找,找不到就创建,找得到就公用,而对于线程来说,栈本身还是线程私有的,是吗?谢谢老师
写回答
1回答
-
你好,栈数据共享基本上是这个意思,同时要注意修改时是不会同时修改的,它是由编译器完成的,有利于节省空间。线程的堆栈是私有的,这个没什么可说的,堆栈封闭可以轻松保证线程安全,threadlocal及线程池都使用的这个原理实现的。这些东西多注意理解,切记不要盲目的记所谓的结论。
022019-04-10
相似问题