关于在方法内部返回对象和get,set方法

来源:4-1 安全发布对象-发布与逸出

cqnuhy

2021-12-28

1、我在生产中,进经常出现比如在一个方法中new UserEntity个对象实例,来初始化一些值,我参考了您的这个回答:
http://coding.imooc.com/learn/questiondetail/69593.html
(如果你在函数里定义一个变量,正常他的作用范围就只到当前函数结束,而如果你把这个变量当作返回值返回,那个这个变量范围就扩大到其他函数里了。如果你定义一个static类型的变量,那么整个类都可以访问到他,他的作用范围就是整个类了。)

如此以来……岂不是都不安全了,特别是在多个线程持有一个方法所属对象实例的时候!

2、只要是私有成员变量,有get方法应该都会出现安全发布问题吧,只不过单线程的时候没有被影响到

写回答

1回答

cqnuhy

提问者

2021-12-28

就是所有的关于对象安全发布与逃逸都是基于多线程情况下的!单线程一般都不会出问题

0
3
奥观海同志
回复
Jimin
也就是说UnsafePublish实例只要没有多个线程去调用set方法的场景 就不存在线程安全不安全一说对吗
2024-02-15
共3条回复

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

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

3923 学习 · 832 问题

查看课程