我发现不用连接池,每次有请求要访问DB时都创建一个connection会很费时间,所以我想到了单例,就是把Connection做成单例,如下:public class DB {

private static Connection conn = null;
static {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/bbs", "root", "root");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}

}

public static Connection getConn() {
return conn;
}
}这样的话,所有操作都用这一个connection,就第一次要创建connection对象回慢一点,以后创好了都很快。
但是我只在一台电脑上测试过,如果同时有多台电脑来获取这个connectin,会是什么情景呢?想象不到,请高手解答。会是同步的么?还是异步?既然大家都要用这个connection对象去创建Statement,会不会出现当第一个请求还没有创建完Statement时,那第二个和第三个请求都要进入等待状态,等第一个释放了connection对象再去抢呢?