请教:为什么不能实现同步
public   String   getMaxCode()   { 
                         String   date   =   PubFunction.getFormatDate( "yyMMdd "); 
                         int   code   =   0; 
                         synchronized(maxCode)   { 
                                     if   (maxCode.length()   ==   10)   { 
                                                 if   (maxCode.indexOf(date)   ==   0)   {   //   存在本日数据 
                                                             String   serial   =   maxCode.substring(6); 
                                                             code   =   PubFunction.getDefaultValue(serial); 
                                                 } 
                                     } 
                                     maxCode   =   date   +   Integer.toString(code   +   10001).substring(1); 
                                     return   maxCode; 
                         } 
             }   
 在一个单例里面要产生不重复的序号,在用户要求新增记录的时候拿一个号,然后显示到页面(已设置为即时过期)上让用户输入其他信息,但发现不时出现重号,请指教 
------解决方案--------------------直接在类中存放一个静态变量,利用这个静态变量来取得序号值 
 取完加一
------解决方案--------------------把方法也弄成synchronized的...
------解决方案--------------------同步块里面应该包含同一个对象中可能多个线程都会去改变的资源.
------解决方案--------------------楼主可以用 静态内部类解决只问题  
 我做网上书城生成订单号就是用的内部类