java web 单例_JavaWeb_(设计模式)单例模式

菜鸟教程  传送门

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

注意:

1、单例类只能有一个实例。

2、单例类必须自己创建自己的唯一实例。

3、单例类必须给所有其他对象提供这一实例。

实例:

用到两个类JDBCUtil.java(单例类)和JDBCUtil_use.java

无需在JDBCUtil_use.java中实例出JDBCUtil对象

JDBCUtil_use.java通过JDBCUtil.instance去使用单例类中公有方法

296616153cdcf32d43bd7cecc346fa57.png

726bff35101a4e1f3f2754c753f3422f825.jpg

f7dec389fd42d42066ab7eb0fb76d80baba.jpg

packageGary03;public classJDBCUtil {//设置成单例模式 只在JDBCUtil中new一次 在其他地方不需要再动态申请

public static JDBCUtil instance = newJDBCUtil();//构造方法私有化,

privateJDBCUtil() {

}public voidGetConnection() {

System.out.println("GetConnection()");

}//public static void main(String[] args) {//JDBCUtil.instance.GetConnection();//

// //JDBCUtil util= new JDBCUtil();// //util.GetConnection();//

//}

}

JDBCUtil.java

9768693a216c27d8dab2397b8eb2c5e3fb8.jpg

f98b2b8f70b8e91ee1fe3d6db4ad33e95a6.jpg

packageGary03;importGary03.JDBCUtil;public classJDBCUtil_use {public static voidmain(String[] args) {//JDBCUtil jdbc = new JDBCUtil();//直接通过JDBCUtil.instance去访问GetConnection()方法

JDBCUtil.instance.GetConnection();

}

}

JDBCUtil_user.java

程序结构

bac84fca8f0086facf7ee54976168918.png

设置成单例模式后为节约性能只在JDBCUtil中new一次 在其他地方不需要再动态申请

为防止在其他地方类似如下通过new实例化

JDBCUtil jdbc = new JDBCUtil();

可将JDBCUtil.java中将构造方法私有化,外部将无法new JDBCUtil()

privateJDBCUtil() {

}

单例模式要设置成static静态,JDBCUtil_use.java外部访问JDBCUtil.java中的GetConnection方法可通过instance来访问

public classJDBCUtil {//设置成单例模式 只在JDBCUtil中new一次 在其他地方不需要再动态申请

public static JDBCUtil instance = newJDBCUtil();//构造方法私有化,

privateJDBCUtil() {

}public voidGetConnection() {

System.out.println("GetConnection()");

}

}

public classJDBCUtil_use {public static voidmain(String[] args) {//JDBCUtil jdbc = new JDBCUtil();//直接通过JDBCUtil.instance去访问GetConnection()方法

JDBCUtil.instance.GetConnection();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值