JDBC小结 单例模式 静态代码块

简介:             JDBC小结 J2EE:13个技术点:servlet/JSP JDBC。。。JDBC: Java DataBase Connectivity(Java数据库连接) 是一种技术规范   规范=(文档+接口) 容器下servlet-api.jar是容器厂商对servlet(javax.servlet.)技术的实现。(接口+容器厂商实现)



            JDBC小结



J2EE:13个技术点:servlet/JSP JDBC。。。
JDBC: Java DataBase Connectivity(Java数据库连接) 是一种技术规范

 

规范=(文档+接口


容器下servlet-api.jar是容器厂商对servlet(javax.servlet.)技术的实现。(接口+容器厂商实现)


区分:

JDBC的规范的接口已经打到JDK的包中java.sql
数据库厂商对JDBC的实现    ---------> 数据库驱动程序。


JDBC2.0

JDBC4.0  Derby数据库驱动4.0

Oracle10g中的驱动class12.zip(jar)
Oracle11g中的驱动ojdbc5/6.jar


JDBC的实现原理:


class DriverManager
{
   pirvate static java.sql.Driver driver;
   public static Connection getConnection(String url,String userName,String pwd)
   {
       return driver.connect(url,userName,pwd);
   }
   public static void registDriver(Driver d)
   {
     this.driver = d;
   }
}

class OracleDriver implments java.sql.Driver

{

  //静态的代码块,在类加载进内存时就完成对对象的特殊的初始化(这个动作发生在类的构造器执行之前,也就是在没有对象存在的情况下,静态代码

就已经完成了对对象的特殊的处理 ),此处的作用是,当Oracle的驱动器加载时,就自动创建一个自己。

   static

   {
      DriverManager.registDriver(new OracleDriver());
   }

 


Connection connect(String url,String userName,String pwd)

   {
      如何真实的和Oracle数据库连接
   }
}

Class.forName("oracle.jdbc.driver.OracleDriver"); // 运用反射技术,将Oracle的驱动(class文件)加进内

JDBC:是面试重点,通常要你自己徒手写一个JDBC的连接



                   设计模式之单例设计模式


使用单例设计模式设计的类的特点:

1,在内存中的对象只有一个

2,构造函数私有化

3,提供一个静态的方法,便于外界对象的调用


饿汉式单例设计模式

class Singleton
{
   private Singleton()      // 私有化构造器
   {
   }
   private static Singleton s = new Singleton(); //创建一个自己的对象
   public static Singleton getInstance()   //提供给外界一个访问的方法
   {
      return s;
   }
}


懒汉式单例设计模式

class Singleton
{
   private Singleton()
   {
   }
   private static Singleton s = null;  //此处没有创建对象 而是在方法中创建的
   public static synchronized Singleton getInstance()
   {
      if(s == null)
      {
         s = new Singleton();
      }
      return s;
   }
}


// 使用单例模式

Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();




目录
相关文章
|
5月前
|
设计模式 存储
static应用之 单例设计模式(饿汉单例&懒汉单例)
本章我们来学习单例模式中的饿汉单例和懒汉单例,那么什么是单例模式呢?应用该模式的这个类永远只有一个实列,即一个类只能创建一个对象例如电脑上的任务管理器对象只需要一个就能解决问题,可以节省内存空间先定义一个类,把构造器私有如下图,先来看一下没有把构造器私有化的SingleInstance类,此时Test类中可以随意创建多个SingleInstance的实例化。 在SingleInstance类中用private修饰无参构造器,此时左边new方法报错了。我们在右边创建一个静态变量来存储对象,变量名为instan
24 0
|
17天前
|
Java API 数据库
大厂面试题详解:抽象类可以被实例化吗
字节跳动大厂面试题详解:抽象类可以被实例化吗
28 0
|
4月前
|
设计模式 安全 Java
【单例模式】饿汉式,懒汉式?JAVA如何实现单例?线程安全吗?
【单例模式】饿汉式,懒汉式?JAVA如何实现单例?线程安全吗?
28 0
|
5月前
|
XML Java 数据格式
Java中静态代码块、构造方法、代码块、父类与子类之间执行顺序及父类子类实例化对象
Java中静态代码块、构造方法、代码块、父类与子类之间执行顺序及父类子类实例化对象
70 0
|
8月前
|
安全 Java
饿汉式单例
饿汉式单例
|
9月前
|
设计模式 安全 Java
【JavaEE】Java设计模式-单例模式(饿汉式与懒汉式)
【JavaEE】Java设计模式-单例模式(饿汉式与懒汉式)
Zp
父类静态代码块、非静态代码块、构造方法、子类静态代码块、子类非静态代码块、子类构造方法执行顺序
父类静态代码块、非静态代码块、构造方法、子类静态代码块、子类非静态代码块、子类构造方法执行顺序
Zp
50 0
|
设计模式 缓存 JavaScript
什么是单例模式?怎么生成单例类? - 1/14
什么是单例模式?怎么生成单例类? - 1/14
55 0
|
安全 Java
单例模式和多例模式(懒汉式和饿汉式)
单例模式和多例模式(懒汉式和饿汉式)
111 0
|
Java
构造方法,静态代码块,成员变量的加载顺序
构造方法,静态代码块,成员变量的加载顺序
119 0