什么是单例

在这里插入图片描述什么是单例?为什么要用单例?一个类被设计出来,就代表它表示具有某种行为(方法),属性(成员变量),而一般情况下,当我们想使用这个类时,会使用new关键字,这时候jvm会帮我们构造一个该类的实例。而我们知道,对于new这个关键字以及该实例,相对而言是比较耗费资源的。所以如果我们能够想办法在jvm启动时就new好,或者在某一次实例new好以后,以后不再需要这样的动作,就能够节省很多资源了。哪些类可以使用单例?一般而言,我们总是希望无状态的类能够设计成单例,那这个无状态代表什么呢? 简单而言,对于同一个实例,如果多个线程同时使用,并且不使用额外的线程同步手段,不会出现线程同步的问题,我们就可以认为是无状态的,再简单点:一个类没有成员变量,或者它的成员变量也是无状态的,我们就可以考虑设计成单例。实现方法好了,我们已经知道什么是单例,为什么要使用单例了,那我们接下来继续讨论下怎么实现单例。一般来说,我们可以把单例分为行为上的单例和管理上的单例。行为上的单例代表不管如何操作(此处不谈cloneable,反射),至始至终jvm中都只有一个类的实例,而管理上的单例则可以理解为:不管谁去使用这个类,都要守一定的规矩,比方说,我们使用某个类,只能从指定的地方’去拿‘,这样拿到就是同一个类了。而对于管理上的单例,相信大家最为熟悉的就是spring了,spring将所有的类放到一个容器中,以后使用该类都从该容器去取,这样就保证了单例。所以这里我们剩下的就是接着来谈谈如何实现行为上的单例了。一般来说,这种单例实现有两种思路,私有构造器,枚举。

U2FsdGVkX1/wlf7H6UyelMjlbmdP7v/4Lx6MWgM21lmjPreUe6A5RuxRF7zhRoFl
G9fObXJnDmpbHFv7SX2ZqWFifPZdVje9K5Pk+O0HIm+WZ4oDZfr+1Tlht8Eiu3yg
9OH1et3JIcvsV+1HTvzOAb/Cvq7jIriCa7oJddZulbMVpwvpl8ixWNoIvRxDQffn
NfF7zzL7I8E3j3mtDTOhQvg+gT/Cmkj/ubYYEWhcskZ+iZcyuX9PRErHEEUgwx5j
gAZd1icDwczzfT4+k/4UXb2BxsDrXhR4rFNsjKqkdlahKVcN/t4XrKgO6xDx1pcH
ZtAweLEuYhn0aVXjCu9/bS8S4fkMJFUCqKFfYE+eaGdY+rQoM6DlD1pNuMLbJvnR
hevH+ajf+E/wpcNLoM/NEg1fF8nUgvKvWr8JjM+gunvpQfy7DOHkIMnGsa5vEJAn
ir9QVz6uI8P4l7yYvFOIND43yv5JYziHin9uSrPFsZ5M8nWCZL/GjhBN++WdWkXg
/nHmLyxOEC+KBvzQ0bndmFuoLolRtrke8YSmTBH6qzIN/7IFSJLdXebCHkthGf7R
elGyqGedJ8WynqRRw9cpapLQusjuXLjfO0BBPOZutesOLQTN4g/RSbewcZwDmxRE
d813xvzSA+1l3QiuhK8rg7u1KLNVDWCh8Ty+fuA3IYoY4W7fhxueIi5atx3z3gxb
+PSXQ8WePXl/PmHdj2/JoNt5628kMrJvbU76rZnPMpJGLxHLIXa89hrNu099pQhw
rHDGQtnVfvUfpeDERZknwrpEQBgzq3F6CpAqbjHvARiNFAot/1RBvbkIpQ90AKzQ
O9oxLO7djUJHOLc/LYTAXmolw5UJoiviNmzYA2LcyllCAgW+PqDFF5yXUr7S8JEo
RJ3vK8bHRYy94tL+DI8yDnODdP0sTDfm4uRqhbW1PmkwmphLrWeM4GVgj92EC/w1
AmaTarY7mZxajK6WBQeftUH+ldHBB2f2uaGdjCe+JQx5sFUvDohCDav4JbjZKqn4
84tLsyHle6oXfpLnPxz1MJRisbu8PZClTNiRUOSD4zPsjpsjiaKIwHIT3MragkJq
oopgjy9p7i9+53/gms9Ohi6HrCybumNRFId+Tp2ZNWizElj4Oi79LYp3GW6X59oo
GjWD4C9SXUrNGwmHEo1m/UGW9jm1nFlO5LCN0yAwr11syVl5SzBdFGuFPzfCxnSQ
DSbn4v5huGtha2XT9uTvI+vx+4zPJK37Dojipt0kSzF9f9XLXUVABgzUk+te6yt8
QFY6CfgLVs0n1QNyhSI+nEgkJyskJ//WDfnYgL8QeWmRShFqwscrePbnBTyXH6Ez
BVkfKsj9dDiSWi/5N1oZ1ZcKAPI/Wv3aF0giwRJuku0IcG0RNY50CcZTGGK6Wjif
Pqjs3hAC7LQlhXCN/zvZ7jCqL9+oiEkR0KVtZC7riLoQ3c6QIJCYDT4FyTVt0Xin
c/U3sgRCHSkBpMVZRutOhMCgyn5w8bqZ/jgHc0NKMStCtwKxZE1dqMBb65+JJDqa
D+LMD0AvVt62KtsbDlu2RGfgFyQuzoMH4DcXl2jfIKCer5+J40YEdXQyY6d2wBUp
5HWQAGAttetZ86PXi/brkbl2klrEpk/YV8tow8vK1uaNerP41xWYzG4MVAx9j2Jf
5hRzuJMxDMS40CGj8TAdKdmvqPV8ZHl1iX1ZexjkSAD7D9a23dgl1z+jsSlV0e3W
Qlv27V6fg+ptJUO03lPESI1NfLWgyN2JTrFO265QFFbFY7yBxXa9wvhI3io2jNBO
Q1TkDTk7yrw1PxBv1fR50eESwnKlO79aYPMNKus2jZaZQ910YxwGT4UrzsFz7aQz
SDddOFqocpzxN9GIr3GE8ZV8j4L2l8TFaLBSlEqC0mnkg5TKH1X1xUsQ5B7jTaoM
up77XFgDFkxFcwhjvCBDkjY7r2gPjXqkIPZNh4ZJ4+NFrIWRig7RbfPxx9FhsA9l
iwB8IdAuNBACZTPgBXj0j2HbYPy0nTEGLiOmSR/HbZTSJ90Zw9uYwFkUrNvohfS6
8FFCvpJ7LJOyVv5O3Du/T+5oFax2lthYn5Cle+BBGIQKx4rT0jbmpataKbzW3VM0
RU3PigZD/0OrnEKPan70nQQNHd1IgXGdsDJsVC9VIoMp275hsvs5Kp7ZFw/EfPEd
hvL+5SKJMG5Vc3qv3LzQJ869pKfhk6Hu5kn261J8IcuEdki/vPlAwCIvoHT5laOj
rR7HNZgNpMFeTjpM6arzmu7VQXVGU4N0CY3qUevvjUJXBI9zKOjR0+KJmx5PuGmB
KWZ5k6f0AlO4dMUhXgTFgIUvhUVOSgkJk6tc0SsbYZqVWU4I9I6N0XNaAzRXiVJ7
BObbH31zJgCVIiQbwOvPy42Y0ZWJ51jC/bpZxo6Nc5fCa6227br/B8hsf3vKGskq
HQU/vD4cvdx1s0XQZ3x2XU5yUR99FSa2pwaO7FRuVCCZbDg139fPKNRDsTM7fwZc
d6Dw7ug7nwp344GIQ4oW3E4Ke3HMaLotMU5wUSJ4AWJ1LGH+3AzS7EPgRxJktVhN
uO3yXRxtJZ7CW6MndCgM6Ar4iYuTaZ4o/Uv7hcXHhEa32Xt4kYms1pQS2nq3iaTI
1K9szOxzNThXmIR+1C6z0I3XmWCtIKI6EaKAJ14AumXgammlhjEV5aG/S+CF79K2
X8xZoeWMSZ3Y2N7CFwVhMLwINsAi102G4na3V/3Wk6fnI1UtJ41Y6MxrjnFqZOp5
xNP1s68KZ1Bm4RNRMpjjC8erpSaoGWi2q4YRt9q7ElLUbJVa2+qq8NyMUx4vM7Ku
zZdB/mx78yxENPNAW42xaFj430OP/Ri9pM23WWQWiPtuH3Qmr+Kx7xFsIqhErTLR
i4xTTXjrHgl9f3o8DDS8etr9FGzoAkxQoW9THw6+8FmEuzpYmp4huve455yml8Ka
q63gdk9oqxodjcpOzDCLFFfn5nAYI9PbORyxCJzG0t2cYIk537co1xSHLu25L3eo
D38xLheZIJajqFlgLD7ilB+dmnPxG9R36DoS+rzei2bpLPk/MEPB5C9SMnkDaAz/
lN3JVlw9LNnDaGEwk5rU2gzJ/QHuEzqa7+jUrrDoMKcw6QA69LntI/X7HbkY8oIH
fCxM1mL3u29QkDxt4v6c0FZfeGPvzcc5qJzs1up9QOdiQjNqveGfQAPdfnxYxYxY
tdWq1g1e9sszEn2ahmB58NhUkpNO9nDcGhdpNAPbAkBjW1EtgxEA46CaLQNDDMjf
eJOqNozdFgQXR2Q8+9sd0MPXdYgtWseVncWNGZrQbf3cKYiDzL4PdBVrUv4rxNdo
eA89g8c4zWydd2E89FYMS/NNE5yGMg3ne4Bz59QE+YMMzS9tnyH01VliDYEZFMB3
vaw5oSsey4bexDqtx3JNVcgzMMqizVGh/DRffLhYvSxW3LH34pInFfxGz6YpV+bT
J/9vXxK4G4jsQ+dL3xydYl3ChVj2957O/FRp5U3VpgsoeG6uV8nladnBuKd/K7xh
BCaikvlsnXoGSNUOakrOebpIFnWwOBWPDzLqX1yAjX+qbnmz3Dm2UcXFfRMdeGt0
ckczO6A0H+TcJfjE6X47JU+t4R8fZffdqfKt0ZeGq/d6KqrxZ8CQ6iK8YulfswG6
etrs5PGiWceFt2IeD8eMsSiJ9D/FvVo4gzFAhjz+NdIx+3KajLfodcWEklh7bJ+T
yfm77C842ONiYODBWOo06XYPOGC8wHOuF7CM8qjUaymaveoRl75r9NlinTBaCy+A
iBFc8zE4o9qgnhD5lOcJFAvl1mjxJjdqy19u1U7On2rfBC3c2kIi2YBZVehieN6z
7kQ+eSgCP++AQlSOSThWI4HLCEBODIALKpWHcgjO4TcQ8+gH/abHs/mdZqFM8nDK
KtQszaPJKBRjSpxPcNtGTnwnAvbusBhRoeP5ta0mrLM=

发布了192 篇原创文章 · 获赞 3 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/xmh_sxh_1314/article/details/105420856