public class Singleton
{
private Singleton(){
}
private static Singleton instance = new Singleton();
private static Singleton getInstance(){
return instance;
}
以上是饿汉式的单例模式写法,这里不是讨论单例的各种写法,主要讲下为什么单例模式的构造方法要定义为私有。
在实际开发过程中,由于调用了一个单例模式,该单例的构造方法是public的。在调用时候,采用了Singleton singleton = new Singleton();调用,这样的结果就是导致不断的初始化Singleton类,内存很快会耗尽,应用速度变慢。所以,单例模式的构造方法最好定义private,并且通过Singleton.getInstance()调用。
这个时候,最好采用性能调试工具加以分析,看哪个类实例最多。