-
编写JDBC连接数据库方法时将方法声明为synchronized方法的必要性具体体现在什么场景?5
例如这么一个方法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; } }
RT,如果synchronized不加的话,有可能出现哪些场景使程序出错?2012年12月05日 12:23
2个答案 按时间排序 按投票排序
-
采纳的答案
不用加
Class.forName(dirvername); 在加载类时会执行一段static代码,如oracleDriver
static
{
Timestamp localTimestamp = Timestamp.valueOf("2000-01-01 00:00:00.0");
try
{
if (defaultDriver == null)
{
defaultDriver = new OracleDriver();
DriverManager.registerDriver(defaultDriver);
}
}
catch (RuntimeException localRuntimeException)
{
}
catch (SQLException localSQLException)
{
}
_Copyright_2004_Oracle_All_Rights_Reserved_ = null;
}
static方法会有类加载器保证 线程安全2012年12月05日 12:25
-
适用于多线程的情况下,多个线程都调用同一个 getCon()方法获取数据库连接的时候,如果不加synchronized的话,会出现问题,比如两个线程获取了同一个连接,这样在后面的事务处理中会互相影响,比如一个线程关闭了连接,但另一个线程正在使用等等。
2012年12月05日 18:24
相关推荐
在Java开发中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。本文将深入解析如何利用JDBC结合单例模式实现...
系统的错误处理和异常处理也是关键部分,Java的异常处理机制(try-catch-finally)使得程序在遇到错误时能保持稳定,提供友好的错误提示,并进行必要的数据恢复。 总之,这个“小型工资管理系统”是一个完整的Java...
- `java.sql`:用于连接数据库的 JDBC 接口。 - `java.net`:用于网络通信的类。 3. **常用接口**: - `java.util.List`:用于表示有序的元素集合。 - `java.util.Map`:用于存储键值对映射。 - `java.util....
JavaSE为开发者提供了编写可移植性强、性能稳定且安全的代码的环境。 1. **Java语法基础**:Java语言以其严谨的语法著称,包括数据类型(如整型、浮点型、字符型、布尔型)、变量声明、运算符、流程控制语句(如if-...
10. **JDBC数据库连接**:介绍如何使用Java连接和操作数据库,包括连接池的使用和SQL语句的执行。 每个主题下都会有具体的代码示例,通过实际运行和观察结果,你可以看到代码是如何工作的,加深对概念的理解。同时...
- **线程同步**:学习synchronized关键字,理解线程同步的必要性,掌握wait()、notify()和notifyAll()方法的使用。 7. **Swing GUI编程** - **组件与布局管理器**:创建和使用JButton、JLabel、JTextField等组件...
在《Java程序案例精编》中,我们深入探讨了Java编程语言的各种实用技巧和常见应用场景。这本书主要针对Java初学者,旨在通过丰富的实例帮助他们快速掌握编程基础,提高实际编程能力。以下是一些核心知识点的详细说明...
12. **JDBC(Java Database Connectivity)**:JDBC是Java与数据库交互的标准API,用于执行SQL语句、管理数据库连接等。学习JDBC可以帮助你实现数据库驱动的应用程序。 13. **Java EE(企业版)**:Java EE是一个...
19. JDBC:Java数据库连接,用于操作数据库,包括连接、查询、更新等操作。 20. Servlet和JSP:构建Web应用的核心技术,处理HTTP请求和响应。 这些知识点构成了《Java核心技术卷1基础知识》的主要内容,通过学习和...
10. **JDBC数据库连接**:Java Database Connectivity (JDBC) 是Java连接数据库的标准API,包括连接管理、执行SQL语句、处理结果集等。 11. **Java EE**:如果深入学习,会接触到Java企业版(Java EE),它包含了...
8. **JDBC数据库连接**:Java Database Connectivity(JDBC)是Java访问数据库的标准API。掌握如何加载驱动、建立连接、执行SQL语句和处理结果集是进行数据库操作的基础。 9. **GUI编程**:Java的Swing和JavaFX库...
在“30天学通Java实例内容,实例精通”这个学习资源中,你将接触到一套全面而实用的Java编程教程,旨在帮助初学者在短短一个月内掌握Java编程基础,并通过丰富的实例来提升技能。这份资源涵盖了Java语言的核心概念、...
12. **JDBC数据库连接**:学习如何使用Java Database Connectivity (JDBC) API来连接数据库,执行SQL语句,处理结果集。 13. **Java Swing和JavaFX GUI编程**:对于需要创建桌面应用的初学者,理解Swing组件和布局...
8. **JDBC**:Java Database Connectivity(JDBC)是Java连接数据库的标准接口。学习如何加载驱动、建立连接、执行SQL查询以及处理结果集,对于开发数据库应用是必要的。 9. **Java Swing和JavaFX**:这两个是Java...
本压缩包中的“WashingSystem_”项目,很可能是为了帮助学习者将课堂所学理论知识转化为实际编程技能而设计的一个小型应用程序,它可能包含了一个简单的数据库交互功能,比如使用MySQL作为后台数据库。 在Java编程...
12. **数据库连接与JDBC**:理解SQL语言,熟悉JDBC操作数据库的基本步骤,以及事务处理。 13. **网络编程**:Socket通信、HTTP协议等,对开发网络应用有直接影响。 14. **泛型与枚举**:泛型提高了代码的类型安全...
7. **JDBC数据库操作**:Java Database Connectivity (JDBC) 是Java访问数据库的标准API。掌握如何连接数据库、执行SQL语句、处理结果集等基本操作是必要的。 8. **泛型**:Java泛型引入了类型参数的概念,提高了...
在本资源中,我们主要关注的是"Java_21天之2(共两个)",这是一个针对初学者的Java编程学习教程,旨在帮助用户在21天内掌握基础的Java编程知识。通常这类教程会逐步讲解Java语言的核心概念,通过实践性的例子来...
8. **反射机制**:Java反射机制允许程序在运行时动态访问类、接口、字段和方法,增强了代码的灵活性和动态性。 9. **泛型**:泛型引入了类型安全,提高了代码的重用性和可读性。理解如何使用泛型定义容器类和方法,...
了解线程同步机制(如synchronized关键字、wait/notify方法)也是必要的。 10. **设计模式**:虽然对于初学者来说可能较难,但了解一些基本的设计模式(如单例模式、工厂模式、观察者模式)可以帮助你写出更优雅、...