要点:
1、类设计
2、单例模式
3、resultSet,Statement,Connection的关闭顺序以及异常捕获
1、工具类,不让其他类继承,所以是final;url,password,driver,class等常量信息
2、单例模式,饿汉模式和懒汉模式的区别,双重加锁
(1)单例模式三要素:静态私有的成员变量,私有构造方法,防止外部实例化,公共的获取方法
(2)饿汉模式,饥所以及时加载;懒汉模式,懒所以延迟加载;
3、打开顺序:Connection --> Statement(PreparedStatement) --> Result
关闭顺序: Result --> Statement --> Connection
package com.zhaoyp.jdbc.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public final class JdbcUtils { private static final String URL = "jdbc:mysql://localhost:3306/jdbc"; private static final String USERNAME = "root"; private static final String PASSWORD = "123"; private static final String DRIVER = "com.mysql.jdbc.Driver"; //延迟加载,需要new的时候才去new //懒汉模式,懒所以延迟加载 //饿汉模式,饿所以及时加载 // private static JdbcUtils instance = new JdbcUtils(); private static JdbcUtils instance = null; private JdbcUtils() { } // public static synchronized JdbcUtils getInstance() { // if(instance == null) { // instance = new JdbcUtils(); // } // return instance; // } //double-check public static JdbcUtils getInstance() { if(instance == null) { //class级别锁 synchronized (JdbcUtils.class) { if(instance == null) { instance = new JdbcUtils(); } } } return instance; } static { try { Class.forName(DRIVER); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return DriverManager.getConnection(URL, USERNAME, PASSWORD); } public static void free(ResultSet rs, Statement st, Connection conn) { try { if(rs!=null && !rs.isClosed()) rs.close(); } catch (Exception e) { System.out.println("异常。。"); } finally { try { if(st != null && !st.isClosed()) st.close(); } catch (Exception e) { System.out.println("st 异常"); } finally { try { if(conn != null && !conn.isClosed()) conn.close(); } catch (Exception e) { System.out.println("conn 异常"); } finally { System.out.println("程序结束"); } } } } }
相关推荐
可能包括`Contact`类(代表联系人)和`Memo`类(代表备忘录),每个类都有相应的属性(如姓名、电话、电子邮件等)和方法(如添加、删除、修改记录)。 2. **集合框架**:为了存储和管理大量的联系人和备忘录,Java...
行为型模式如策略模式、模板方法模式、观察者模式、迭代器模式、访问者模式、命令模式、责任链模式、备忘录模式和状态模式,它们关注对象之间的交互和职责分配。 例如,单例模式确保一个类只有一个实例,并提供全局...
3. 行为型模式:观察者、模板方法、策略、职责链、命令、解释器、迭代器、备忘录、状态、访问者等,优化程序行为。 以上只是Java学习中的部分核心知识点,PPT资料将可能深入到这些主题,并涵盖更多实际案例和实战...
3. 行为型模式:观察者、模板方法、策略、责任链、命令、迭代器、访问者、备忘录、解释器等。 此外,现代Java开发中框架的使用也是重要考核点: 1. Spring框架:依赖注入(DI)、AOP(面向切面编程)、Spring Boot...
- 行为型模式:观察者、模板方法、策略、职责链、访问者、状态、命令、迭代器、备忘录等。 以上只是Java面试题中可能涉及的一部分知识点,实际面试可能还会包含JDBC、Spring框架、MyBatis、微服务、分布式系统等...
3. 行为型模式(Behavioral Patterns):包括责任链模式(Chain of Responsibility)、命令模式(Command)、解释器模式(Interpreter)、迭代器模式(Iterator)、中介者模式(Mediator)、备忘录模式(Memento)、...
- 行为型模式:策略、模板方法、观察者、迭代器、责任链、命令、备忘录、解释器。 以上只是《疯狂Java面试题》中可能涵盖的部分关键知识点,实际内容会更详尽,包括对每个知识点的深度剖析和面试常见问题。通过...
3. 行为型模式:模板方法、策略、观察者、职责链、命令、解释器、迭代器、备忘录、状态、访问者。 十、数据库操作 1. JDBC:理解数据库连接、执行SQL、结果集处理等步骤。 2. ORM框架:如Hibernate和MyBatis,简化...
3. 行为型模式:策略、模板方法、观察者、职责链、命令、迭代器、访问者、备忘录、状态、解释器模式。 十、框架与工具 1. Spring框架:讲解依赖注入、AOP、Spring Boot和Spring Cloud等相关知识。 2. MyBatis:理解...
3. 行为型模式:策略、模板方法、观察者、迭代器、责任链、命令、备忘录、解释器、访问者模式。 以上内容仅是“JAVA面试题最全集”的一部分,实际资料中可能包含更多高级主题,如Spring框架、JDBC、网络编程、多...
- 行为型模式:如策略、模板方法、观察者、迭代器、责任链、命令、备忘录、解释器模式。 7. **其他** - 架构设计:MVC、微服务、SOA等架构模式的理解和应用。 - 性能优化:包括代码优化、数据库查询优化、服务器...
- 行为型模式:观察者、策略、模板方法、迭代器、责任链、命令、备忘录、解释器等。 9. **Java 8及更高版本新特性** - Lambda表达式:函数式编程的引入,简化匿名内部类。 - Stream API:处理集合数据的新方式,...
Java中的其他设计模式如单例模式、抽象工厂模式、建造者模式、原型模式、适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式、策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
- 行为型模式:策略、模板方法、观察者、迭代器、责任链、命令、备忘录、解释器等,关注对象间交互和行为。 3. **常用设计模式详解** - 单例模式:确保一个类只有一个实例,常用于日志服务、线程池等。 - 工厂...
- 行为型模式:责任链、命令、解释器、迭代器、备忘录、观察者、状态、策略、模板方法、访问者。 以上只是部分Java面试中常见的知识点,实际面试可能会涉及更深入的技术细节,如并发编程的高级特性、JDBC数据库...
- 行为型模式:观察者、模板方法、策略、职责链、迭代器、命令、备忘录、解释器。 8. **数据库交互**: - SQL语言:增删改查、连接查询、子查询、事务处理。 - JDBC:连接数据库、执行SQL、结果集处理、批处理。...
- **备忘录模式**:在Java中,通过备忘录模式支持撤销操作,提供了历史状态的回溯能力。 - **原型模式**:利用克隆技术快速创建对象副本,提高了创建新对象的效率。 - **命令模式**:在Java中,命令模式常用于实现...
19. **备忘录模式**:在不破坏封装性的前提下,捕获一个对象的状态,以便之后恢复。Java中没有内置的备忘录实现,但可以通过序列化或自定义实现。 20. **观察者模式**:当对象状态改变时,通知所有依赖它的对象。...
这些模式包括单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式、适配器模式、装饰模式、代理模式、桥接模式、组合模式、外观模式、享元模式、职责链模式、命令模式、解释器模式、迭代器模式、访问者模式、...