这种方式现在用的人很少了,建议看看设计模式,另外如果考虑安全,用j2ee部署,其中有专门的安全机制,听高手在来答吧

解决方案 »

  1.   

    1:你说的是只有局部变量,就是通过方法参数传值是吧,在这个方法种没有使用任何的类的属性,是吧,那么便不会出现线程问题,因为当你调用某个方法时,将为这个方法申请其本身的参数空间,这些方法的局部变量全部放在这儿,所以不同的线程虽然执行的是相同的函数代码(代表的是执行同样的操作指令)访问的不同的数据(代表操作指令的寻址参数不同),不会出现线程问题.
    2:在Java中实现Singleton模式不太怎么好,因为无法做到双层检测
    3:你可以将这个对象放到ThreadLocal中,不同的线程使用ThreadLocal.get()得到的值是不一样的,相当于使用线程为key的那么一个Map
      

  2.   

    首先,谢谢charlie0895(命)先生,我也是想重新做,如果是用freamwork的话,应该是很快就能解决,但是这是既有的很大的一个系统,只能是一步一步的改造。。 
      

  3.   

    谢谢,shangqiao(伤桥)先生。。
    您解决了我一大堆困惑!!:)ThreadLocal对系统资源的开销大不大??
    像我做的一样,把对象存到Session的话,可不可行??,会有什么问题??我的系统是大概有800个用户的3年前的系统。预算太大没法重做。。Session还没用过的系统.可能是怕影响系统性能。我想实现的是;
    我的700个jsp在每个jsp上new 数据库访问类的对象,开销应该是很大的,而且用户一多可能会造成,内存不够的现象。。所以想做成,每个线程登陆的时候,DB访问类的对象只要一个,以后的jsp都用登陆时候构造的那个对象,而不new新对象。。
    您可以给个好的方案吗??
    谢谢!!!
      

  4.   

    2层结构处理好像不是很有。。最好以servlet来控制,自带的多线程处理UP
      

  5.   

    老兄的想法有很大问题。帮到session不如到application或context.除非你得类只有方法,否则要解决同步问题,恶心的。你可以在该类的所有方法前加一个synchronaized,到别处去控制非常困难,而且容易漏掉。而且返回的东西不能和内部对象有瓜葛。还是想想别的辙吧
      

  6.   

    3Q!
    要使放到Session的话,就不用考虑同步吗
    反正谢谢大家的帮助!!
    该道散分的时候了!!
    以后也多多帮忙!!!