看到一些书上提到的常用的模式有23种,看的卵都痛了 那个单例模式怎么理解的呢?还有就是水果工厂的终极模式怎么理解的的?
解决方案 »
- Object与接口的关系,求解
- 向所有熟悉Axis的高手请教,调用服务器方法时报 java.lang.InstantiationException异常
- JTable 单元格中如何显示一个超链接信息?在线等,答出立即给分。
- 怎样在一个字符串中查找它的一个子串,并记下子串的个数
- 如何取得当前日期对应的季度?及前面的四个季度?
- Java环境变量设置后导致NET命令失效!?
- 为啥EventHandler.create创建的监听器不起作用呢
- 求高手点拨一个“Java代码的调试问题”.
- java组播接收数据导致网络不通
- 谁有java的帮助文档!
- 请问如何利用当前运行的一个java程序去执行另外一个java程序
- 10年10月份科大讯飞笔试题-求助
1、类的构造函数为private,即外部程序不能通过new关键字创建对象的实例
2、类中提供一个private static的 类变量引用 ;
3、单例类中提供静态方法 定义为 public static 的方法获取一个类的实例 ;
4、静态方法返回 类的引用,即 第2点中的 私有 静态变量 ;私有静态变量可以 定义的时候初始化 ,也可以 在第一次使用的时候,即调用AA.getInstanc()方法中判断
静态变量是否为空在初始化 如果初始化比较久的话,自己权衡了
工厂模式有简单工厂模式、工厂方法模式、抽象工厂模式,各自的适用场景不同,
看一下各自的UML图便一目了然!!
public class SingleInstance {
private static final class SingleInstanceHolder {
private static SingleInstance theSingleton = new SingleInstance(); public static SingleInstance getSingleton() {
return theSingleton;
} // following prevents accidental instantiation
private SingleInstanceHolder() {
}
} /**
* @return The instance of ObjectConfig
*/
public static SingleInstance getInstance() {
return SingleInstance.SingleInstanceHolder.getSingleton();
}
}其实产品环境没有真正的单例,因为我们都是cluster多机器的,比如说,1个集群三台tomcat,每台tomcat都会有一个这个类的实例,如果你对DB做一些操作都要很小心