日期:2014-05-17  浏览次数:20452 次

是否整个网站只有一个static静态数据库连接,效率将会提高?
或是完全不可用!会引起队列延迟等问题!

否则为何还要每次访问数据库都要new 一个connection呢?弄一个静态的connection不行吗?

------解决方案--------------------
一个静态数据库连接就好比银行里只有一个柜台,如果你去的时候前面有人,你就得排队等着。但对于多线程程序来说,排队不是默认的行为,所以就是大家插队,抢着让柜员(静态数据库连接)来接待,结果就是混乱——这就是所谓的并发问题。

静态方法可以每次调用建立一个新连接,就好比你是银行的VIP,每次去银行会专门派一个人来接待你,因此你不用等。对于程序来说,可以看作每个人都是VIP,会有一个专员(调用静态方法时建立的连接)来接待,既不需等待也不会产生混乱。

探讨

静态方法也只占用一块内存空间,它的返回值也只占用一块内容, 你这个人取钱返回200元,那个人取钱返回500元,为什么就不会引起并发的问题?

静态的数据库连接也只占用一块内存空间,你这个人用这个连接去200元,那个人用连接取500元,为什么就会出现并发问题???