单例模式
定义:一个类中只能有一个实例,私有构造器,一个static的得到实例的方法
单例模式分为懒汉式模式与饿汉式模式
懒汉式模式就是在你需要这个实例时,它才会去加载这个实例
public class DBConnection{
private static DBConnection dbConnection;
public static DBConnection getInstance(){
if(dbConnection == null){
dbConnection = new DBConnection();
}
return dbConnection;
}
}
饿汉式单例:
public class DBConnection{
private static DBConnection dbConnection = new DBConnection();
public static DBConnection getInstance(){
return dbConnection;
}
}
解决的问题:节省了内存资源,也解决了程序逻辑错误
生活总例子: 就太阳系而言,只有一个太阳.
项目中的应用:
以前在学校里做的学生管理系统,要得到学生的一些信息时,数据库连接使用的jdbc,当我们要拿到数据库连接对象时,就使用了单例模式.
在jdk中的应用:
java.lang.Runtime / java.lang.System
定义:一个类中只能有一个实例,私有构造器,一个static的得到实例的方法
单例模式分为懒汉式模式与饿汉式模式
懒汉式模式就是在你需要这个实例时,它才会去加载这个实例
public class DBConnection{
private static DBConnection dbConnection;
public static DBConnection getInstance(){
if(dbConnection == null){
dbConnection = new DBConnection();
}
return dbConnection;
}
}
饿汉式单例:
public class DBConnection{
private static DBConnection dbConnection = new DBConnection();
public static DBConnection getInstance(){
return dbConnection;
}
}
解决的问题:节省了内存资源,也解决了程序逻辑错误
生活总例子: 就太阳系而言,只有一个太阳.
项目中的应用:
以前在学校里做的学生管理系统,要得到学生的一些信息时,数据库连接使用的jdbc,当我们要拿到数据库连接对象时,就使用了单例模式.
在jdk中的应用:
java.lang.Runtime / java.lang.System