大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 中級(jí)Java軟件開(kāi)發(fā)面試題

中級(jí)Java軟件開(kāi)發(fā)面試題

更新時(shí)間:2021-11-26 11:21:08 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1188次

動(dòng)力節(jié)點(diǎn)小編為大家整理了部分中級(jí)Java軟件開(kāi)發(fā)面試題以供大家參考:

中級(jí)Java軟件開(kāi)發(fā)面試題

1.談?wù)剬?duì)面向?qū)ο蟮睦斫?以及三大特征;

面向?qū)ο笫腔谌f(wàn)物皆對(duì)象這個(gè)觀點(diǎn). 把一個(gè)對(duì)象抽象成類(lèi),也就是Java抽象類(lèi),具體上就是把一個(gè)對(duì)象的靜態(tài)特征和動(dòng)態(tài)特征抽象成屬性和方法,也就是把一類(lèi)事物的算法和數(shù)據(jù)結(jié)構(gòu)封裝在一個(gè)類(lèi)之中,程序就是多個(gè)對(duì)象和互相之間的通信組成的。

比如把一個(gè)人看成一個(gè)對(duì)象,這個(gè)人就會(huì)有他的屬性和行為;他有手、腳、嘴巴等就是他的屬性,或者他會(huì)說(shuō)話(huà)、會(huì)走路、會(huì)吃飯就是行為,同理我們也可以把這些都看成對(duì)象,所以一個(gè)對(duì)象是可以由多個(gè)對(duì)象組成的。

面向?qū)ο缶哂蟹庋b性、繼承性、多態(tài)性。封裝就是隱蔽了對(duì)象內(nèi)部不需要暴露的細(xì)節(jié),使得內(nèi)部細(xì)節(jié)的變動(dòng)跟外界脫離,只依靠接口進(jìn)行通信;即不用管這個(gè)方法是怎么實(shí)現(xiàn)的,只要知道他可以實(shí)現(xiàn)這個(gè)功能。封裝性降低了編程的復(fù)雜性. 通過(guò)繼承使得新建一個(gè)類(lèi)變得容易,一個(gè)類(lèi)繼承了父類(lèi),則父類(lèi)所有的非私有的方法和公用屬性可以被這個(gè)類(lèi)所調(diào)用。 而繼承和實(shí)現(xiàn)接口所產(chǎn)生的多態(tài),使得不同的類(lèi)所產(chǎn)生的對(duì)象能夠?qū)ο嗤南⒆鞒霾煌姆磻?yīng),即在實(shí)現(xiàn)接口的情況下,同一個(gè)方法里的行為不同,極大地提高了代碼的通用性.。

總之,面向?qū)ο蟮奶匦蕴岣吡舜笮统绦虻闹赜眯院涂删S護(hù)性。

2.String、StringBuffer、StringBuilder的區(qū)別;

(1)String對(duì)象是不可改變的。

(2)如果要修改字符串而不創(chuàng)建新的對(duì)象,則可以使用 StringBuilder 類(lèi)。例如,當(dāng)在一個(gè)循環(huán)中將許多字符串連接在一起時(shí),使用 StringBuilder 類(lèi)可以提升性能。

(3)由于 String 的值一旦創(chuàng)建就不能再修改,所以稱(chēng)它是恒定的。看似能修改 String 的方法實(shí)際上只是返回一個(gè)包含修改內(nèi)容的新 String。

(4)StringBuffer可改變的Unicode字符序列,允許并發(fā)操作,是線(xiàn)程安全的。

(5)StringBuilder:可改變的Unicode字符序列操作同StringBuffer,只是不支持并發(fā)操作,非線(xiàn)程安全的 。

(6)不考慮線(xiàn)程安全前提下,StringBuilder性能最高,StringBuffer次之,String比較差。 為什么StringBuffer的性能比String高?主要原因在于String類(lèi)是不可變類(lèi),任何對(duì)String引用指向的字符串作出的修改都會(huì)導(dǎo)致生成新的字符串(對(duì)象),而對(duì)StringBuffer的修改則不會(huì)導(dǎo)致新對(duì)象的產(chǎn)生。

那么為什么StringBuilder的性能比StringBuffer的高呢?這則與線(xiàn)程安全有關(guān)。StringBuilder是線(xiàn)程非安全的。

3.HashMap、LinkedHashMap、TreeMap的區(qū)別;

HashMap,LinkedHashMap,TreeMap都屬于Map

Map 主要用于存儲(chǔ)鍵(key)值(value)對(duì),根據(jù)鍵得到值,因此鍵不允許鍵重復(fù),但允許值重復(fù)。

HashMap 是一個(gè)最常用的Map,它根據(jù)鍵的HashCode 值存儲(chǔ)數(shù)據(jù),根據(jù)鍵可以直接獲取它的值,具有很快的訪問(wèn)速度。HashMap最多只允許一條記錄的鍵為Null;允許多條記錄的值為Null;HashMap不支持線(xiàn)程的同步,即任一時(shí)刻可以有多個(gè)線(xiàn)程同時(shí)寫(xiě)HashMap;可能會(huì)導(dǎo)致數(shù)據(jù)的不一致。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力。

LinkedHashMap 也是一個(gè)HashMap,但是內(nèi)部維持了一個(gè)雙向鏈表,可以保持順序;

TreeMap 不僅可以保持順序,而且可以用于排序;

4.ArrayList、LinkedList、vector 的區(qū)別;

(1)同步性

ArrayList,LinkedList是不同步的,而Vestor是同步的。所以如果不要求線(xiàn)程安全的話(huà),可以使用ArrayList或LinkedList,可以節(jié)省為同步而耗費(fèi)的開(kāi)銷(xiāo)。但在多線(xiàn)程的情況下,就得使用Vector。當(dāng)然,也可以通過(guò)一些辦法包裝ArrayList,LinkedList,使他們也達(dá)到同步,但效率可能會(huì)有所降低。

(2)數(shù)據(jù)增長(zhǎng)

從內(nèi)部實(shí)現(xiàn)機(jī)制來(lái)講ArrayList和Vector都是使用Object的數(shù)組形式來(lái)存儲(chǔ)的。

當(dāng)你向這兩種類(lèi)型中增加元素的時(shí)候,如果元素的數(shù)目超出了內(nèi)部數(shù)組的長(zhǎng)度它們都需要擴(kuò)展內(nèi)部數(shù)組的長(zhǎng)度,Vector缺省情況下自動(dòng)增長(zhǎng)原來(lái)一倍的數(shù)組長(zhǎng)度;

ArrayList是原來(lái)的50%,所以最后你獲得的這個(gè)集合所占的空間總是比你實(shí)際需要的要大。所以要在集合中保存大量的數(shù)據(jù)那么使用Vector有一些優(yōu)勢(shì)。

(3)檢索、插入、刪除對(duì)象的效率

ArrayList和Vector中,是用下標(biāo)來(lái)檢索一個(gè)對(duì)象,或在集合的末尾插入、刪除一個(gè)對(duì)象的時(shí)間是一樣的。但是,如果在集合的其他位置增加或移除元素那么花費(fèi)的時(shí)間會(huì)呈線(xiàn)形增長(zhǎng)。

LinkedList中,在插入、刪除集合中任何位置的元素所花費(fèi)的時(shí)間都是一樣的,但它在查詢(xún)一個(gè)元素的時(shí)候比較慢。

一般大家都知道ArrayList和LinkedList的大致區(qū)別:

ArrayList是實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu)。

對(duì)于隨機(jī)訪問(wèn)get和set,ArrayList覺(jué)得優(yōu)于LinkedList,因?yàn)長(zhǎng)inkedList要移動(dòng)指針。

對(duì)于新增和刪除操作add和remove,LinedList比較占優(yōu)勢(shì),因?yàn)锳rrayList要移動(dòng)數(shù)據(jù)。

5.抽象類(lèi)與接口(interface)的區(qū)別;

(1)abstract class 在 Java 語(yǔ)言中表示的是一種繼承關(guān)系,一個(gè)類(lèi)只能使用一次繼承關(guān)系。但是,一個(gè)類(lèi)卻可以實(shí)現(xiàn)多個(gè)interface。

(2)在abstract class 中可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態(tài)的不能被修改的數(shù)據(jù)成員(也就是必須是static final的,不過(guò)在 interface中一般不定義數(shù)據(jù)成員),所有的成員方法都是abstract的。

(3)abstract class和interface所反映出的設(shè)計(jì)理念不同。其實(shí)abstract class表示的是"is-a"關(guān)系,interface表示的是"like-a"關(guān)系。

(4)實(shí)現(xiàn)抽象類(lèi)和接口的類(lèi)必須實(shí)現(xiàn)其中的所有方法。抽象類(lèi)中可以有非抽象方法。接口中則不能有實(shí)現(xiàn)方法。

(5)接口中定義的變量默認(rèn)是public static final 型,且必須給其初值,所以實(shí)現(xiàn)類(lèi)中不能重新定義,也不能改變其值。

(6)抽象類(lèi)中的變量默認(rèn)是 friendly 型,其值可以在子類(lèi)中重新定義,也可以重新賦值。

(7)接口中的方法默認(rèn)都是 public,abstract 類(lèi)型的。

6.多線(xiàn)程是什么?用什么實(shí)現(xiàn)?

多線(xiàn)程是為了同步完成多項(xiàng)任務(wù),不是為了提高運(yùn)行效率,而是為了提高資源使用效率來(lái)提高系統(tǒng)的效率。線(xiàn)程是在同一時(shí)間需要完成多項(xiàng)任務(wù)的時(shí)候?qū)崿F(xiàn)的。如:火車(chē)是一個(gè)進(jìn)程,而車(chē)廂就是線(xiàn)程,車(chē)廂脫離了火車(chē)是不能開(kāi)動(dòng)的,同理可以由多個(gè)車(chē)廂,則一個(gè)進(jìn)程是有多個(gè)線(xiàn)程來(lái)提高效率的。

在JAVA中,要開(kāi)始一個(gè)線(xiàn)程,有兩種方式。一是直接調(diào)用Thread實(shí)例的start()方法,繼承Thread類(lèi);二是實(shí)現(xiàn)Runnable接口,將Runable實(shí)例傳給一個(gè)Thread實(shí)例然后調(diào)用它的start()方法。

實(shí)現(xiàn)同步也有兩種,一種是用同步方法,一種是用同步塊, 同步方法就是在方法返回類(lèi)型后面加上synchronized, 比如:public void synchronized add(){...}同步塊就是直接寫(xiě):synchronized (這里寫(xiě)需要同步的對(duì)象){...}

7.spring事務(wù)怎么配置的。

第一種方式:每個(gè)Bean都有一個(gè)代理;

第二種方式:所有Bean共享一個(gè)代理基類(lèi);

第三種方式:使用攔截器;

第四種方式:使用tx標(biāo)簽配置的攔截器;

第五種方式:全注解;

如果大家想了解更多,可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java面試題,里面有更多的知識(shí)在等著大家去學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲va天堂va欧美ⅴa | 久久99热久久精品 | 99re6这里有精品热视频在线 | 国产成人亚洲精品一区二区在线看 | 毛色毛片免费观看 | 国产精品原创永久在线观看 | 在线观看日韩一区 | 国产视频在线观看福利 | 在线91精品亚洲网站精品成人 | 奇米第四色在线 | 亚洲 欧美 日韩在线综合福利 | 亚洲在线国产 | 久久精品国产亚洲a不卡 | 国产在线观看一区二区三区四区 | 九九精品视频一区二区三区 | 一类毛片 | 亚洲图片色图 | 亚洲狠狠婷婷综合久久久久图片 | 久久久久久久一线毛片 | 日本天天谢天天要天天爱 | 日本亚洲欧洲高清有码在线播放 | 国产在线精品观看 | 日本日韩欧美 | 日韩在线视频免费播放 | 欧美日本一级在线播放 | 香蕉视频在线免费播放 | 国产精品深夜福利免费观看 | 成人欧美视频在线观看播放 | 亚洲男人天堂久久 | 欧美日韩高清在线观看 | 久久久精品久久 | 9l国产精品久久久久麻豆 | 在线播放精品一区二区啪视频 | 欧美黑人巨大肥婆性视频 | 日本久久久久久久中文字幕 | 99久久免费精品国产免费 | 欧美曰韩免费视频一区 | 青青久在线精品视频 | 色成年激情久久综合 | 国产精品伦理一区二区三区 | 久久网站免费观看 |