什么事线程安全问题:
存在多线程访问
存在可修改的共享数据
Jvm 中可能存在的线程安全问题的数据进行分析
栈内存 不存在线程安全的问题,方法中的局部变量不存在线程安全问题
堆内存 多线程中 ,被创建出的对象是存放在堆内存当中。堆内存中的数据是线程共享的。堆内存中的数 据存在线程问题。
方法区 多线程共享的常量,不存在线程安全问题。 但是静态变量存在线程安全问题。
线程不安全的的结局问题:
(1) 对于一般型的类不要定义成单例,
(2) 无论是否是单例类,尽量不使用静态变量
(3)若需要定义成单例类,尽量不使用单例中的成员变量。
Servlet 是单例多线程。所以会存在线程安全的问题。