例如这么一个方法
[code="java"]
public static synchronized Connection getCon() throws Exception{
try{
Class.forName(dirvername);
con.DriverManager.getConnection(url);
return con;
}catch(SQLException e){
System.err.println(e.getMessage());
throw e;
}
}
[/code]
RT,如果synchronized不加的话,有可能出现哪些场景使程序出错?
编写JDBC连接数据库方法时将方法声明为synchronized方法的必要性具体体现在什么场景?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- jinnianshilongnian 2012-12-05 12:25关注
不用加
Class.forName(dirvername); 在加载类时会执行一段static代码,如oracleDriver
static
{
Timestamp localTimestamp = Timestamp.valueOf("2000-01-01 00:00:00.0");
try
{
if (defaultDriver == null)
{
defaultDriver = new OracleDriver();[color=red] DriverManager.registerDriver(defaultDriver);
[/color] }} catch (RuntimeException localRuntimeException) { } catch (SQLException localSQLException) { } _Copyright_2004_Oracle_All_Rights_Reserved_ = null;
}
static方法会有类加载器保证 线程安全
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报