Java面试题:单例设计模式、适配器模式的不同方式
QUESTION:單例設(shè)計(jì)模式、適配器模式的不同方式?
ANSWER:
1、單例設(shè)計(jì)模式,適配器設(shè)計(jì)模式
?? ?單利設(shè)計(jì)模式:?? ?
?? ??? ?在java中,單例模式是指為了保證類在內(nèi)存中只有一個(gè)對(duì)象,而形成的一種固有的代碼模式!
?? ?適配器設(shè)計(jì)模式:
?? ??? ?在java中,適配器設(shè)計(jì)模式是指為了監(jiān)視某些行為,但是對(duì)于每種監(jiān)聽到的行為又有不同的處理,為了能夠讓監(jiān)聽者自行來處理監(jiān)聽到指定行為后,要做的后續(xù)操作,而形成的一種固有的代碼模式!
?? ?適配器標(biāo)準(zhǔn)課上答案:
?? ??? ?* a.什么是適配器
?? ??? ??? ?* 在使用監(jiān)聽器的時(shí)候, 需要定義一個(gè)類事件監(jiān)聽器接口.
?? ??? ??? ?* 通常接口中有多個(gè)方法, 而程序中不一定所有的都用到, 但又必須重寫, 這很繁瑣.
?? ??? ??? ?* 適配器簡(jiǎn)化了這些操作, 我們定義監(jiān)聽器時(shí)只要繼承適配器, 然后重寫需要的方法即可.
?? ??? ?* b.適配器原理
?? ??? ??? ?* 適配器就是一個(gè)類, 實(shí)現(xiàn)了監(jiān)聽器接口, 所有抽象方法都重寫了, 但是方法全是空的.
?? ??? ??? ?* 適配器類需要定義成抽象的,因?yàn)閯?chuàng)建該類對(duì)象,調(diào)用空方法是沒有意義的
?? ??? ??? ?* 目的就是為了簡(jiǎn)化程序員的操作, 定義監(jiān)聽器時(shí)繼承適配器, 只重寫需要的方法就可以了.
2、餓漢式和懶漢式的區(qū)別
?? ?使用場(chǎng)合:
?? ??? ?餓漢式:?? ?開發(fā)用
?? ??? ?懶漢式:?? ?面使用,開發(fā)一般不用
?? ?思想:
?? ??? ?餓漢式:?? ?類一加載就生成對(duì)象。
?? ??? ?懶漢式:?? ?在調(diào)用獲取對(duì)象的方法的時(shí)候生成。
?? ?實(shí)用性:
?? ??? ?餓漢式:?? ?安全,效率高。相對(duì)懶漢式會(huì)在未使用之前就占用內(nèi)存。
?? ??? ?懶漢式:?? ?存在線程安全漏洞,可以利用同步解決,但是效率會(huì)變低。內(nèi)存方面符合了編程中的延遲加載思想。(在面試中面試官會(huì)比較希望答出這一點(diǎn))
?
更多關(guān)于設(shè)計(jì)模式的內(nèi)容請(qǐng)查閱:https://blog.csdn.net/yang13563758128/article/details/87344139
總結(jié)
以上是生活随笔為你收集整理的Java面试题:单例设计模式、适配器模式的不同方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常识知识在AI不同领域应用的最新研究进展
- 下一篇: Java总结:正则表达式进行校验