解决方案 »

  1.   

    成员方法也是共享的,为什么就不会出现问题呢?
    ==================================================
    先回答你这个问题:
    java 里,每个线程都有自己独享的空间,也就是栈内存。线程在调用方法的时候,会创建一个栈帧。也就是说调用一个方法的时候,也就是一个栈帧的入栈过程,该方法执行完毕,栈帧也就出栈了。
    换句话讲,成员方法对于每个线程事实上是私有的,而不是你表面看上去的那样是 "共享" 的。那么为什么成员变量会出问题呢?
    ==================================================
    如你所知道的,每个新建对象都存放在堆中,每个持有该对象引用的线程,都可以访问到它(只要你有那个权限)。
    这也就是说,成员变量对于每个线程,事实上是共享的。