用单例模式还是用静态方法、静态类:(摘)
1、单例模式比静态方法有很多优势:
单例可以继承类,实现接口;
单例可以被延迟初始化;
单例类可以被集成,他的方法可以被覆写;
单例类可以被用于多态而无需强迫用户只假定唯一的实例,你的代码会更加灵活。
2、静态方法中产生的对象,会随着静态方法执行完毕而释放掉;
执行类中的静态方法时,不会实例化静态方法所在的类;
如果是用singleton, 产生的那一个唯一的实例,会一直在内存中,不会被GC清除的(原因是静态的属性变量不会被GC清除),除非整个JVM退出了。
3、由于DAO等东东的初始化,会比较占系统资源的,如果用静态方法来取,会不断地初始化和释放,所以我个人认为如果不存在比较复杂的事务管理,用singleton会比较好。