五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

單例模式

2023-06-07 18:03 作者:便宜酒  | 我要投稿

用于保證一個類只有一個實例,并提供全局訪問點。在安卓開發(fā)中,可以用單例來實現(xiàn)不同Activity之間共享數(shù)據(jù),比如某自定義類的集合。

【懶漢式】

調(diào)用get方法時才完成實例化。

【餓漢式】

程序啟動時就立即創(chuàng)建該單例對象。不需要考慮線程安全問題。

【破壞單例模式】

1.通過Singleton.class獲取Singleton類的Class對象,然后使用getDeclaredConstructor()方法獲取Singleton類的構(gòu)造方法,再通過setAccessible(true)方法將構(gòu)造方法的訪問權(quán)限設(shè)置為可訪問,最后使用newInstance()方法創(chuàng)建Singleton對象。

解決方法:加對象鎖或者同步鎖都可以。

2.當(dāng)一個單例對象被序列化后,如果在反序列化過程中沒有特殊處理,會通過調(diào)用類的構(gòu)造方法來創(chuàng)建對象,那么系統(tǒng)會重新創(chuàng)建一個新的對象,從而導(dǎo)致原有的單例對象被破壞。單例模式的構(gòu)造方法通常被私有化,從而不能直接被外部調(diào)用。因此,如果沒有特殊處理,系統(tǒng)會使用默認的構(gòu)造方法來創(chuàng)建一個新的對象。

如下方式可以解決。在反序列化時會返回已經(jīng)創(chuàng)建好的單例實例,而不會再創(chuàng)建新的實例。


單例模式的評論 (共 條)

分享到微博請遵守國家法律
樟树市| 潼南县| 社会| 泾川县| 绥芬河市| 盐亭县| 潜江市| 尉犁县| 吴忠市| 荥经县| 红安县| 蒙阴县| 海盐县| 上饶市| 广饶县| 潜江市| 体育| 九寨沟县| 襄樊市| 原平市| 白银市| 仙桃市| 天水市| 四子王旗| 洛隆县| 鹤壁市| 新乐市| 垫江县| 睢宁县| 南宫市| 隆回县| 武邑县| 三亚市| 营口市| 华容县| 夏河县| 海门市| 香港 | 南投县| 顺义区| 吉安县|