java开发面试题

1、如何解决spring单例的线程不安全问题?
一般线程不安全问题都是因为成员变量,因为成员变量放在堆上,堆是线程共享的。
如何解决呢?
a.改变单例作用域
在对应的类名上加上该注解@Scope("prototype"),表示每次调用该接口都会生成一个新的Bean。下图示例
b.解决方案二 ThreadLocal解决问题
c.尽量不使用成员变量
d.更改作用于为request 每次请求相当于重新生成对象

展开阅读剩余部分