如果方法运行中会有中间结果才要保证同步方法不管是不是static,在jvm中的对象模型都只有一份,但只要不是多线程,在同一时刻就不可能出现两个同时调用,因为一个动作在调用方法时,程序必然是阻塞的只有在多钱程的时候才要考虑synchorinzedstatic只是说明是否类的方法,与多线程,同步无关。

解决方案 »

  1.   

    static变量才只有一个复制
    static方法,是指不用创建类的实例对象就可以调用的方法。因此不需要同步。
    同步是在多个线程需要同时访问同一资源时用到。
      

  2.   

    即使是多线程,如果static方法中没有访问外部对象,也用不到同步
      

  3.   

    在j2ee中怎样判断一个对象是要被多线程访问的,是需要同步的,而什么样的对象是不需要同步的呢?
      

  4.   

    j2ee是分布式调用,肯定要多线程或者用对象工厂,不会产生同步调用就不需要同步。
      

  5.   

    如果static 变量要在多线程使用,可以在访问他的静态方法前加synchronized来同步