weixin_42501999 2012-12-05 12:23
浏览 293
已采纳

编写JDBC连接数据库方法时将方法声明为synchronized方法的必要性具体体现在什么场景?

例如这么一个方法
[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不加的话,有可能出现哪些场景使程序出错?

  • 写回答

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方法会有类加载器保证 线程安全

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?