Java单例模式&static成员变量 区别

Posted 学海无涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java单例模式&static成员变量 区别相关的知识,希望对你有一定的参考价值。

当需要共享的变量很多时,使用static变量占用内存的时间过长,在类的整个生命周期。
而对象只是存在于对象的整个生命周期。

 

技术分享图片
 

 

 
//饿汉式
class Single//类一加载,对象就已经存在了。
{
private static Single s = new Single();
 
private Single(){}
 
public static Single getInstance()
{
return s;
}
}
 
//懒汉式    
class Single2//类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象。
//延迟加载形式。 并发过程中存在安全隐患。
{
private static Single2 s = null;
 
private Single2(){}
 
public static Single2 getInstance()
{
if(s==null)
s = new Single2();
return s;
}
}

 

以上是关于Java单例模式&static成员变量 区别的主要内容,如果未能解决你的问题,请参考以下文章

Java单例模式详解

面向对象-static

java笔记之静态修饰附和单例设计模式

单例模式详解

java基础——java内存,两种单例模式

Java中的static