关于栈数据共享

来源:1-5 JAVA内存模型

慕神2874530

2019-03-13

老师,这个是我二刷了,现在听到您说,栈数据共享,我的理解是,共享的是数据本身,像基础数据类型,先定义一个int a=3 再定义一个int b=3,这个时候b其实就用的a的3,就是赋值的时候,先在栈中找,找不到就创建,找得到就公用,而对于线程来说,栈本身还是线程私有的,是吗?谢谢老师

写回答

1回答

Jimin

2019-03-14

你好,栈数据共享基本上是这个意思,同时要注意修改时是不会同时修改的,它是由编译器完成的,有利于节省空间。线程的堆栈是私有的,这个没什么可说的,堆栈封闭可以轻松保证线程安全,threadlocal及线程池都使用的这个原理实现的。这些东西多注意理解,切记不要盲目的记所谓的结论。

0
2
慕神2874530
非常感谢!
2019-04-10
共2条回复

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程