总站首页 | 我要入驻 | 招生合作 | 您好,欢迎访问育优汇,希望本篇文章能够给您带来帮助!
育优汇网 > 动态汇总 > IT培训中心> 西安Java培训机构口碑排行榜

西安Java培训机构口碑排行榜

机构:IT培训中心 时间:2021-06-03 16:49:21 点击:103

  • IT培训学校

    IT培训学校

    IT设计、软件测试、前端、大数据等IT培训课程

    北京、上海、广州、深圳等多个城市有校区


IT培训中心

Java EE 如何创建单例类

有些时候,允许*创建某个类的实例没有意义,还可能造成系统性能下降(因为创建对象所带来的系统开销问题)。例如整个系统只有一个窗口管理器,只有一个假脱机打印设备;在Java EE应用中可能只需要一个数据库引擎访问点,Hibernate访问时只需要一个SessionFactory实例,如果在系统中为它们创建多个实例就没有太大的意义。

如果一个类始终只能创建一个实例,则这个类被称为单例类,这种模式就被称为单例模式。

对Spring框架而言,可以在配置Bean实例时指定scope="singleton"来配置单例模式。不仅如此,如果配置元素时没有指定scope属性,则该Bean实例默认是单例的行为方式。

Spring推荐将所有业务逻辑组件、DAO组件、数据源组件等配置成单例的行为方式,因为这些组件无须保存任何用户状态,故所有客户端都可共享这些业务逻辑组件、DAO组件,因此推荐将这些组件配置成单例模式的行为方式。

如果不借助Spring框架,我们也可手动实现单例模式。为了保证该类只能产生一个实例,程序不能允许*创建该类的对象,而是只允许为该类创建一个对象。为了避免程序*创建该类的实例,我们使用private修饰该类的构造器,从而将该类的构造器隐藏起来。

将该类的构造器隐藏起来,则需要提供一个public方法作为该类的访问点,用于创建该类的对象,且该方法必须使用static修饰(因为调用该方法之前还不存在对象,因此调用该方法的不可能是对象,只能是类)。

除此之外,该类还必须缓存已经创建的对象,否则该类无法知道是否曾经创建过实例,也就无法保证只创建一个实例。为此该类需要使用一个静态属性来保存曾经创建的实例,且该属性需要被静态方法访问,所以该属性也应使用static修饰。

基于上面的介绍,下面程序创建了一个单例类。

程序清单:codes\09\9.3\Singleton\TestSingleton.java

class Singleton

{

//使用一个变量来缓存曾经创建的实例

private static Singleton instance;

//将构造器使用private修饰,隐藏该构造器

private Singleton(){}

//提供一个静态方法,用于返回Singleton实例

//该方法可以加入自定义的控制,保证只产生一个Singleton对象

public static Singleton getInstance()

{

//如果instance为null,表明还不曾创建Singleton对象

//如果instance不为null,则表明已经创建了Singleton对象,将不会执行该方法

if (instance == null)

{

//创建一个Singleton对象,并将其缓存起来

instance = new Singleton();

}

return instance;

}

}

public class TestSingleton

{

public static void main(String[] args)

{

//创建Singleton对象不能通过构造器,只能通过getInstance方法

Singleton s1 = Singleton.getInstance();

Singleton s2 = Singleton.getInstance();

//将输出true

System.out.println(s1 == s2);

}

}

上面程序中第一行粗体字代码使用了一个静态属性来保存已创建的Singleton实例,程序第二段粗体字代码用于判断系统是否已经创建过Singleton实例--如果已经创建过Singleton实例,则直接返回该Singleton实例即可。

正是通过上面第二段粗体字代码提供的控制逻辑,从而保证了Singleton类只能产生一个实例。所以在TestSingleton类的main方法中看到两次产生的Singleton对象实际上是同一个对象。

在Java EE应用中,单例模式是一种应用非常广泛的设计模式,应用中许多组件都只需要单个实例,下面介绍的工厂模式里的工厂也只需要单个实例……

使用单例模式主要有如下两个优势:

减少创建Java实例所带来的系统开销。

便于系统跟踪单个Java实例的生命周期、实例状态等

IT培训学校推荐课程
  • IT培训机构课程

    大数据

  • IT培训机构课程

    智能物联网

  • IT培训机构课程

    Unity游戏开发

  • IT培训机构课程

    网络安全

  • IT培训机构课程

    互联网营销

  • IT培训机构课程

    影视剪辑包装

2013年06月 北大青鸟锦江青羊校区成立;2013年03月 荣获四川教育行业诚信品牌机构;2012年12月 获得成都电视台教育总评榜“最具社会责任品牌学校”;2012年12月 校长陈小林先生荣登北大青鸟职业教育研究促进中心常任理事;2011年01月 整体合并北大青鸟时代校区;2011年05月 整体合并北大青鸟金牛校区多年来,北大青鸟锦江已成功造就万余名网络、软件工程师,学员高薪就业于联想、中软、华为、LG、NEC等知名集团公司,成为四川乃至整个西南地区极具规模及影响力的IT教育机构,我校拥有近百名经总部培训认证、具有丰富IT教学经验的金牌讲师,学校教学面积达数万平方米,可容纳上万名学员上课、实训。成都北大青鸟发展历程:2017年01月 北大青鸟锦江天府学院成立;2016年11月 荣获教育创新领军人物奖;2016年8月 校长陈小林荣获2016年度中国行业信息化领军人物奖;2016年8月 学校自主研发教育类应用软件《育道》荣获2016年度中国互联网+教育行业最佳产品奖;2015年06月 荣获质量放心用户满意双优品牌;2014年06月 整体合并北大青鸟华西校区。

IT培训学校学员作品


IT培训中心

  • 零基础

    零基础

    对IT设计有兴趣,希望从事IT行业

  • 有基础

    有基础

    强化自己能力,加强专业技能

  • 在校大学生

    在校大学生

    丰富职场技能,毕业不失业

  • 不满于现状

    不满于现状

    提升专业水平,轻松升职加薪