饿汉式:
public class Single
{
private static final Single s = new Single();
private Single (){};
public static Single getInstance()
{
return s;
}
}
懒汉式: public class Singleton
{
private static Singleton singleton = null; //此为线程安全的 public static sysnchronized Singleton getInstance()
{
if(singleton == null)
{
懒汉式延时加载,如果在创建实例对象时不加上synchronized则会导致对对象的访问不是线程安全的
singleton = new Singleton(); return singleton; } } } 饿汉式是线程安全的,在类加载的同时就已经创建好一个静态的对象供系统使用,以后不在改变 |
单例模式中的饿汉式与懒汉式
最新推荐文章于 2024-02-05 12:35:28 发布