采用单例模式还是静态方法好呢?

操作方法

  • 01

    在真正的开发项目的过程中,使用单例模式好呢,还是使用静态方法好呢,具体情况具体分析,大体可以分一下观点: 观点一:(单例)单例模式比静态方法有很多优势:首先,单例可以继承类,实现接口,而静态类不能(可以集成类,但不能集成实例成员);其次,单例可以被延迟初始化,静态类一般在第一次加载是初始化;再次,单例类可以被集成,他的方法可以被覆写;最后,或许最重要的是,单例类可以被用于多态而无需强迫用户只假定唯一的实例。举个例子,你可能在开始时只写一个配置,但是以后你可能需要支持超过一个配 置集,或者可能需要允许用户从外部从外部文件中加载一个配置对象,或者编写自己的。你的代码不需要关注全局的状态,因此你的代码会更加灵活。 观点二:(静态方法) 静态方法中产生的对象,会随着静态方法执行完毕而释放掉,而且执行类中的静态方法时,不会实例化静态方法所在的类。如果是用singleton, 产生的那一个唯一的实例,会一直在内存中,不会被GC清除的(原因是静态的属性变量不会被GC清除),除非整个JVM退出了。这个问题我之前也想几天,并 且自己写代码来做了个实验。 观点三:(个人认为比较好)由于DAO的初始化,会比较占系统资源的,如果用静态方法来取,会不断地初始化和释放,所以我个人认为如果不存在比较复杂的事务管理,用singleton会比较好。

(0)

相关推荐

  • PHP设计模式:单例模式

    单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例类的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源.如果希望在 ...

  • 阿里170号段套餐将背放弃 采用懒人计费模式

    170号段又添新成员。昨天,阿里通信宣布率先完成自建计费系统,其发售的170号段,将在6月正式上线。据悉,阿里通信将以流量经营为核心,打通淘宝、支付宝、云OS等阿里系业务,提供互联网化的通信服务。阿里 ...

  • 采用Win8飞行模式一键关闭Win8无线网络及运营商宽带

    每次你的Win8系统开机以后,看到所有的无线网络、运营商宽带、Wifi、蓝牙等无线设备是不是非常烦躁,不关感觉很占开机时间,一个一个去关又显得麻烦,有没有什么办法可以让它像手机上的“飞行模式”一样,可 ...

  • win7视图设置同步到所有文件夹采用缩略图方式查看

    Windows 7有一个非常好的功能就是提供了文件夹的单独视图设置,对于照片我们经常采用缩略图的方式查看,需要查看文件属性的时候又需要切换到“详细信息”来查看。不过,如果你想让Windows7所有的文 ...

  • IE9屏蔽广告的方法(采用样式表编排文档格式功能)

    IE9屏蔽广告的方法(采用样式表编排文档格式功能)

  • 综合布线系统中采用双绞线的原因以及双绞线传输图像的优点

    众所周知,在综合布线工程中双绞线能在很多地方应用来传输信号信息等,比如在工业控制需要中和干扰较大的场所以及远距离传输中都有使用,应用广泛的局域网也是使用了双绞线。之所以能在那么多的地方应用是因为其具有 ...

  • 诺基亚确认Nokia N1平板采用USB Type-C 接口

    根据诺基亚官方更新的推文显示即将发售的Nokia N1平板确定将会采用USB Type-C 接口,在插入的时候不再需要确认正反面,同苹果的Lightning端口一样无论从哪个方面都能插入。 去年12月 ...

  • win9再曝光! Windows 9系统采用全新方式构建测试和更新

    内部代号为“Threshold”的Windows 9即将于今晚揭开神秘面纱,但在发布会前夕依然有众多细节流出。援引外媒ZDNet报道相比较此前操作系统在Windows 9上构建、测试和更新微软都会采用 ...

  • Win8采用扁平化的Metro设计风格如何设置默认进入桌面

    Windows 8系统推出的全新的”开始“屏幕界面作为登陆后的默认界面,采用扁平化的Metro设计风格。但这一界面很多人不喜欢,他们更希望登陆后默认进入桌面。这该如何设置呢? 步骤 首先如果是wind ...