Java程序員面試分類模擬19_第1頁
Java程序員面試分類模擬19_第2頁
Java程序員面試分類模擬19_第3頁
Java程序員面試分類模擬19_第4頁
Java程序員面試分類模擬19_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Java程序員面試分類模擬19一、單項選擇題1.

以下不屬于網(wǎng)絡(luò)安全控制技術(shù)的是______。A.防火墻技術(shù)B.訪問控制技術(shù)C.入侵檢測技術(shù)D.差錯控制技術(shù)正確答案:D[解析]網(wǎng)絡(luò)安全涉(江南博哥)及計算機網(wǎng)絡(luò)上信息的保密性、完整性、可用性、真實性以及可控性,它是一個系統(tǒng)工程,需要仔細考慮系統(tǒng)的安全需求,并將各種安全技術(shù)結(jié)合在一起才能維護計算機網(wǎng)絡(luò)以及信息的安全。

本題中,對于選項A,防火墻是一種保護計算機網(wǎng)絡(luò)安全的技術(shù)性措施,它通過在網(wǎng)絡(luò)邊界上建立相應(yīng)的網(wǎng)絡(luò)通信監(jiān)控系統(tǒng)來隔離內(nèi)部和外部網(wǎng)絡(luò),以阻擋來自外部的網(wǎng)絡(luò)入侵,因此,它屬于網(wǎng)絡(luò)安全控制技術(shù)。所以,選項A正確。

對于選項B,防止對任何資源進行未授權(quán)的訪問,從而使計算機系統(tǒng)在合法的范圍內(nèi)使用。通過權(quán)限控制來實現(xiàn)網(wǎng)絡(luò)安全控制。因此,它屬于網(wǎng)絡(luò)安全控制技術(shù)。所以,選項B正確。

對于選項C,入侵檢測是指“通過對行為、安全日志或?qū)徲嫈?shù)據(jù)或其他網(wǎng)絡(luò)上可以獲得的信息進行操作,檢測到對系統(tǒng)的闖入或闖入的企圖”,通過這種技術(shù)也能實現(xiàn)網(wǎng)絡(luò)安全控制。因此,它屬于網(wǎng)絡(luò)安全控制技術(shù)。所以,選項C正確。

對于選項D,差錯控制用于在網(wǎng)絡(luò)傳輸過程中對差錯進行控制以保證數(shù)據(jù)的準(zhǔn)確性,因此,它不屬于網(wǎng)絡(luò)安全控制技術(shù)。所以,選項D錯誤。

2.

為了讓瀏覽器以UTF-8編碼顯示JSP頁面,下列JSP代碼正確的是______。A.<%pagecontentType=B.<metahttp-equiv=C.把所有的輸出內(nèi)容重新編碼:newSTRing(content.getBytes())D.response.setContentType()正確答案:D[解析]選項A設(shè)置的是服務(wù)器端編碼,選項B設(shè)置的是客戶端編碼,選項C設(shè)置的是某個字符串的編碼。只有選項D滿足題意。

3.

有如下代碼:

publicclassTest

{

publicstaticvoidchangeStr(Stringstr)

{

str="world";

}

publicstaticvoidmain(String[]args)

{

Stringstr="hello";

changeStr(str);

System.out.println(str);

}

}

程序的輸出是______。A.helloB.worldC.helloworldD.worldhello正確答案:A[解析]本題中,方法調(diào)用的執(zhí)行過程如圖所示。

方法調(diào)用執(zhí)行過程

在調(diào)用方法changeStr時,會把實參的值(main方法中的str)賦值給形參(changeStr方法中的str),這個賦值可以理解為把字符串“hello”的引用(或地址)賦值給了形參。在方法changeStr中執(zhí)行語句str="world"的結(jié)果是使得changeStr中的臨時變量str指向了另外一個新的字符串,但是這個賦值對實參的值是沒有影響的。當(dāng)方法調(diào)用結(jié)束后,changeStr方法中的str變量的作用域?qū)⒔Y(jié)束,因此,也就不存在了,此時,main方法中的str變量的值沒有改變,因此,輸出的結(jié)果為字符串“hello”。所以,選項A正確。

4.

以下命令中,可以打印文件(demo.log)中包含ERP的行到標(biāo)準(zhǔn)輸出的是______。A.sed'/ERR/a\'demo.logB.sed'/ERP/p'demo.logC.sed'/ERP/d'demo.logD.sed-n'/ERp/p'demo.log正確答案:D[解析]sed是一種在線編輯器,一次處理一行內(nèi)容,主要用來自動編輯一個或多個文件,簡化對文件的反復(fù)操作。處理過程如下:把當(dāng)前處理的行存儲在臨時緩沖區(qū)中,稱為“模式空間”,然后用sed命令對緩沖區(qū)中的內(nèi)容進行處理,處理完之后,把緩沖區(qū)的內(nèi)容送往屏幕,接著去處理下一行,這樣不斷地重復(fù),直到文件末尾,這種處理方式默認(rèn)情況下并沒有改變文件的內(nèi)容。

sed的使用方式為sed[-nefr][動作],選項與參數(shù)如下:

1)-n:使用安靜(silent)模式。在一般sed的用法中,所有來自STDIN的資料一般都會被列出到屏幕上。但如果加上-n參數(shù)后,則只有經(jīng)過sed特殊處理的那一行(或者動作)才會被列出來。

2)-e:一般使用方法為-e<script>或-expression=<script>,表示用選項中指定的script來處理文本文件。

3)-f:直接將sed的動作寫在一個文件內(nèi)。

4)-r:sed的動作能支持延伸型正規(guī)表示法的語法。

5)-i:直接修改讀取的文件內(nèi)容,而不是輸出到終端。

動作:[n1[,n2]]動作行為

n1,n2:用來表示選擇進行動作的行數(shù),例如,如果想要后面的動作在100~200行之間進行,則用100,200動作行為來表示。

下面介紹幾個常用的動作行為:

1)a\:在當(dāng)前行后添加一行或多行。

2)c\:用新文本替換當(dāng)前行中的文本。

3)d:刪除行。

4)i\:在當(dāng)前行之前插入文本。

5)p:打印這一行。

6)s:用一個字符串替換另外一個字符串。

7)g:取出暫存緩沖區(qū)的內(nèi)容,將其復(fù)制到模式緩沖區(qū)。

例如,1,20s/old/new/g就是把1~20行中的old替換成new。

本題中,對于選項A和選項C,a\和d分別是添加和刪除的意思,顯然是錯誤的。所以,選項A和選項C錯誤。

對于選項B,sed'/ERP/p'demo.log,由于沒有采用安靜模式,因此,會打印demo.log中包含ERP的行。默認(rèn)情況sed把所有行都打印到屏幕,如果某行匹配到模式,則把該行另外再打印一遍。所以,選項B錯誤。

對于選項D,sed-n'/ERP/p'demo.log,-n取消默認(rèn)的輸出,從而只把包含ERP的行打印出來,-p是指打印行,demo.log是指定的文件。所以,選項D正確。

所以,本題的答案為D。

5.

以下不允許作為類及類成員訪問控制符的是______。A.privateB.protectedC.staticD.public正確答案:C[解析]在Java語言中,類的權(quán)限訪問修飾符有以下幾種:private、default(package)、protected和public,而static用來修飾類成員變量或?qū)傩浴K?,選項C錯誤。

6.

下面哪一選項能提高查詢效率______。A.在Name字段上添加主鍵B.在Name字段上添加索引C.在Age字段上添加主鍵D.在Age字段上添加索引正確答案:B[解析]主關(guān)鍵字(主鍵,PrimaryKey)是表中的一個或多個字段,它的值用于唯一地標(biāo)識表中的某一條記錄。在兩個表的關(guān)系中,外鍵用來在一個表中引用來自于另一個表中的特定記錄。主關(guān)鍵字是一種唯一關(guān)鍵字,表定義的一部分。一個表不能有多個主關(guān)鍵字,并且主關(guān)鍵字的列不能包含空值。

索引是一種提高數(shù)據(jù)庫查詢速度的機制,它是一個在數(shù)據(jù)庫的表或視圖上按照某個關(guān)鍵字段的值,升序或降序排序創(chuàng)建的對象。當(dāng)用戶查詢索引字段時,它可以快速地執(zhí)行檢索操作,借助索引,在執(zhí)行查詢的時候不需要掃描整個表就可以快速地找到所需要的數(shù)據(jù)。一條索引記錄包含鍵值和邏輯指針。創(chuàng)建索引時,系統(tǒng)分配一個索引頁。在表中插入一行數(shù)據(jù),同時也向該索引頁中插入一行索引記錄。由此可以看出,索引在提高查詢效率的同時也增加了插入操作的時間,由此適合在以查詢?yōu)橹鞯膱鼍笆褂谩?/p>

索引的類型有聚簇索引和非聚簇索引。聚集索引是表中的行的物理順序與鍵值的邏輯順序一樣,一個表只能有一個聚簇索引。非聚簇索引是數(shù)據(jù)存儲與索引存儲不在同一個地方。與非聚簇索引相比,聚簇索引一般情況下可以獲得更快的數(shù)據(jù)訪問速度。

創(chuàng)建索引可以大大提高系統(tǒng)的性能,主要表現(xiàn)為以下幾個方面:首先,通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性;其次,通過索引,可以大大加快數(shù)據(jù)的檢索速度;再次,通過索引可以加速表和表之間的連接,從而有效實現(xiàn)數(shù)據(jù)的完整性;然后,在使用分組和排序子句進行數(shù)據(jù)檢索時,可以顯著減少查詢中分組和排序的時間;最后,通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能。

索引可以有效地提高查詢效率,那么為什么不因此而將所有的列都建立索引呢?其實索引盡管可以帶來方便,但并非越多越好,過多的索引也會帶來許多不利的問題。首先,創(chuàng)建索引和維護索引要耗費時間、空間,當(dāng)數(shù)據(jù)量比較小時,這種問題還不夠突出,而當(dāng)數(shù)據(jù)量比較大時,這種缺陷會比較明顯,效率會非常低下;其次,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個索引還需要占用一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大,從而造成不必要的空間浪費;最后,當(dāng)對表中的數(shù)據(jù)進行增加、刪除和修改的時候,索引也要動態(tài)地維護,從而降低了數(shù)據(jù)的維護速度。

通過以上分析發(fā)現(xiàn),如果需要提高查詢速度,可以在經(jīng)常被查詢的字段上創(chuàng)建索引來提高查詢效率。對于Name(姓名)和Age(年齡),通常而言,姓名是經(jīng)常被查詢的字段,因此,通過增加索引可以提高查詢效率。所以,選項B正確。

7.

將網(wǎng)絡(luò)物理地址轉(zhuǎn)換為IP地址的仂、議是______。A.IPB.ICMPC.ARPD.RARP正確答案:D

8.

IPv6地址包含______位。A.64B.16C.32D.128正確答案:D

9.

表達式4&7的運算結(jié)果是______。A.4B.1C.6D.7正確答案:A[解析]在Java語言中,&(與)是二進制與操作運算符,其功能是參與運算的兩數(shù)對應(yīng)的二進位進行與操作。只有對應(yīng)的兩個二進位均為1時,結(jié)果位才為1,否則為0。

本題中,十進制數(shù)字7的二進制表示為0111,十進制數(shù)字4的二進制表示為0100,因此,這兩個制數(shù)相與的結(jié)果為0100,對應(yīng)的十進制數(shù)為4。所以,選項A正確。

10.

有以下代碼:

Strings="hello";

Stringt="hello";

charc[]={'h','e','1','o'};

下列選項中,返回值為false的語句是______。A.s.equals(t);B.t.equals(c);C.t.equals(newString("hello"));D.s==t;正確答案:B[解析]在Java語言中,equals方法是類Object中的方法,因此,對于所有繼承于Object的類中都會有該方法。在Object類中,equals方法的作用是比較兩個對象的引用是否相等,即是否指向同一個對象。它等價于“==”操作,當(dāng)這兩個引用指向同一個對象的引用時,返回true,否則,返回false。而String類重寫了equals方法,String類的equals方法用來判斷兩個引用指向的字符串的內(nèi)容是否相等,如果相等,則返回true,否則,返回false。

對于選項A,字符串s和字符串t的內(nèi)容相同,都為“hello”,因此,返回值為true。所以,選項A錯誤。

對于選項B,t是String的對象,而c是字符數(shù)組的引用。equals方法的參數(shù)為String類型,因此,會默認(rèn)調(diào)用c的toString方法,這個方法會返回c對象的信息,而不是“hello”,故返回值為false。所以,選項B正確。

對于選項C,t的內(nèi)容與新創(chuàng)建出來的字符串的內(nèi)容都是“hello”,因此,返回值為true。所以,選項C錯誤。

對于選項D,對于String類的對象而言,判等符“==”通常用來表示兩個字符串對象的引用是否相等。在執(zhí)行語句Strings=”hello”時,會首先在常量區(qū)里存儲字符串“hello”,而s指向這個對象,在執(zhí)行語句Stringt="hello"時,由于在常量區(qū)里已經(jīng)存在這個字符串,因此,t也直接指向這個字符串,而不會創(chuàng)建新的字符串,所以,字符串s與字符串t的值相等。s==t的返回值為true,選項D錯誤。

11.

采用順序存儲的棧,執(zhí)行入棧運算,棧頂指針的變化是______。A.top++B.top--C.不變D.(top++)++正確答案:A[解析]棧是一種特殊的線性表,在實現(xiàn)的時候可以把順序表的頭看作棧底。棧頂索引top指向棧頂?shù)南乱粋€位置,初始化top=0,每次壓棧操作:首先,向索引為top的位置放入入棧的元素,然后,top+1,由此可見,入棧操作棧指針的變化為top++;而對于出棧操作,首先要判斷棧是否為空(top=0時棧為空),如果不為空,則首先執(zhí)行top-1操作,然后再取出top所在位置的元素,此時指針的變化為--top。所以,選項A正確。

12.

以下關(guān)于TCP的關(guān)閉過程的描述中,正確的是______。A.TIMEWAIT狀態(tài)稱為MSL(MaximumSegmentLifetime)等待狀態(tài)B.對一個established狀態(tài)的TCP連接,在調(diào)用shutdown函數(shù)之前調(diào)用close接口,可以讓主動調(diào)用的一方進入半關(guān)閉狀態(tài)C.主動發(fā)送FIN消息的連接端,收到對方回應(yīng)ACK之前不能發(fā)只能收,在收到對方回復(fù)ACK之后不能發(fā)也不能收,進入CLOSING狀態(tài)D.在已經(jīng)成功建立連接的TCP連接上,如果一端收到RST消息,可以讓TCP的連接端繞過半關(guān)閉狀態(tài)并允許丟失數(shù)據(jù)。正確答案:D[解析]本題中,對于選項A,當(dāng)客戶端主動關(guān)閉連接時,會發(fā)送最后一個ACK,然后進入TIME_WAIT狀態(tài),再停留2個MSL(MaximumSegmentLifetime,最大分節(jié)生命期,指的是一個IP數(shù)據(jù)包能在互聯(lián)網(wǎng)上生存的最長時間,超過這個時間IP數(shù)據(jù)包將在網(wǎng)絡(luò)中消失)時間,進入CLOSED狀態(tài)。正確的說法應(yīng)該是TIME_WAIT狀態(tài)是等待2個MSL時間的狀態(tài)。所以,選項A錯誤。

對于選項B,對于sockfd,close會引起4次握手?jǐn)嚅_連接過程。shutdown之前調(diào)用close,只有當(dāng)一個sockfd引用了此TCP連接,才會出現(xiàn)四次握手。如果多個進程或者fd引用了TCP連接,那么只close一個,只是減少一次引用。半關(guān)閉狀態(tài)只能由shutdown引起,當(dāng)然除了四次握手的中間暫存的狀態(tài)不算,也就是半關(guān)閉不是由close引起的,而只能由shutdown引起。即使是暫態(tài),close也不一定會引起。所以,選項B錯誤。

對于選項C,由于TCP連接是全雙工的,因此,每個方向都必須單獨進行關(guān)閉。這個原則是當(dāng)一方完成它的數(shù)據(jù)發(fā)送任務(wù)后就能發(fā)送一個FIN來終止這個方向的連接。收到一個FIN只意味著這一方向上沒有數(shù)據(jù)流動,一個TCP連接在收到一個FIN后仍能發(fā)送數(shù)據(jù)。主動發(fā)送FIN消息的連接端,收到對方回應(yīng)ACK之前不能發(fā)只能收。所以,選項C錯誤。

對于選項D,TCP允許在傳輸?shù)倪^程中突然中斷連接,也就是TCP重置,通過設(shè)置RST為1。通過shutdown進入半關(guān)閉狀態(tài),調(diào)用close會進入四次握手?jǐn)嚅_連接。TCP連接在ESTABLISHED狀態(tài)時收到RST包后,直接清理隊列并刪除TCB,連接進入CLOSED狀態(tài)。所以,選項D正確。

13.

UML類圖中類與類之間的關(guān)系有5種:依賴、關(guān)聯(lián)、聚合、組合與繼承。若A類需要使用標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)類庫中提供的功能,那么類A與標(biāo)準(zhǔn)類庫提供的類之間存在(Ⅰ)關(guān)系;若A類中包含了其他類的實例,且當(dāng)類A的實例消失時,其包含的其他類的實例也消失,則類A和它所包含的類之間存在(Ⅱ)關(guān)系;若類A的實例消失時,其他類的實例仍然存在并繼續(xù)工作,那么類A和它所包含的類之間存在(Ⅲ)關(guān)系;在下面選項中,正確的是______。A.Ⅰ:依賴、Ⅱ:組合、Ⅲ:聚合B.Ⅰ:關(guān)聯(lián)、Ⅱ:依賴、Ⅲ:組合C.Ⅰ:關(guān)聯(lián)、Ⅱ:聚合、Ⅲ:組合D.Ⅰ:關(guān)聯(lián)、Ⅱ:聚合、Ⅲ:依賴正確答案:A[解析]依賴、關(guān)聯(lián)、聚合、組合與繼承是UML中類之間的幾種常見關(guān)系,以下將分別對這幾種關(guān)系進行解釋說明。

(1)依賴

一個類A使用到了另一個類B,而這種使用關(guān)系是偶然性的、臨時性的、非常弱的,但是類B的變化會影響到類A。例如某人要過河,需要借用一條船,此時人與船之間的關(guān)系就是依賴。

(2)關(guān)聯(lián)

關(guān)聯(lián)體現(xiàn)的是兩個類或者類與接口之間語義級別的一種強依賴關(guān)系,例如你是我的朋友,我也是你的朋友。這種關(guān)系比依賴更強,不存在依賴關(guān)系的偶然性,關(guān)系也不是臨時性的,一般是長期性的,而且雙方的關(guān)系一般是平等的,關(guān)聯(lián)可以是單向、雙向的。

(3)聚合

聚合是關(guān)聯(lián)關(guān)系的一種特例,體現(xiàn)的是整體與部分、擁有的關(guān)系,即has-a的關(guān)系,例如公司與員工、計算機與CPU就是聚合關(guān)系。

(4)組合

組合是關(guān)聯(lián)關(guān)系的一種特例,體現(xiàn)的是一種contains-a的關(guān)系,這種關(guān)系比聚合更強,也稱為強聚合。它體現(xiàn)整體與部分問的關(guān)系,但此時整體與部分是不可分的,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束,例如人與心臟。

(5)繼承

繼承指的是一個類(稱為子類、子接口)繼承另外的一個類(稱為父類、父接口)的功能,并可以增加它自己的新功能的能力。

本題中,依賴是幾種關(guān)系中最弱的一種關(guān)系,通常,使用類庫就是其中的一種關(guān)系。聚合與組合都表示了整體和部分的關(guān)系。組合的程度比聚合高,當(dāng)整體對象消失時,部分對象也隨之消失,則屬于組合關(guān)系,當(dāng)整體對象消失而部分對象依然可以存在并繼續(xù)被使用時,則屬于聚合關(guān)系。所以,選項A正確。

14.

如果入棧序列是a1,a3,a5,a2,a4,a6,出棧序列是a5,a4,a2,a6,a3,a1,那么棧的容量最小是______。A.2B.3C.4D.5正確答案:C[解析]本題解題的關(guān)鍵是了解棧的后進先出的性質(zhì)。

通過入棧序列與出棧序列可以模擬一下其具體的出棧與入棧過程,過程如下:

第一步:a1進棧,此時棧中元素為1。

第二步:a3進棧,此時棧中元素為2。

第三步:a5進棧,此時棧中元素為3。

第四步:根據(jù)進棧出棧順序,a5出棧,a2進棧,此時棧中元素為3。

第五步:a4進棧,此時棧中元素為4。

第六步:根據(jù)進棧出棧順序,a4出棧,此時棧中元素為3。

第七步:根據(jù)進棧出棧順序,a2出棧,此時棧中元素為2。

第八步:a6進棧,此時棧中元素為3。

第九步:根據(jù)進棧出棧順序,a6出棧,此時棧中元素為2。

第十步:根據(jù)進棧出棧順序,a3出棧,此時棧中元素為1。

第十一步:根據(jù)進棧出棧順序,a1出棧,此時棧中元素為0。

由以上分析可知,棧中元素最多的時候為4個,所以,棧容量至少為4,選項C正確。

15.

以下關(guān)于實時操作系統(tǒng)(RTOS)的任務(wù)調(diào)度器描述中,正確的是______。A.任務(wù)之間的公平性是最重要的調(diào)度目標(biāo)B.大多數(shù)RTOS調(diào)度算法都是可搶占式(可剝奪式)的C.RTOS調(diào)度器都采用了基于時間片輪轉(zhuǎn)的調(diào)度算法D.RTOS調(diào)度算法只是一種靜態(tài)優(yōu)先級調(diào)度算法正確答案:B[解析]實時操作系統(tǒng)(Real-TimeOperatingSystem,RTOS)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時,能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)做出快速響應(yīng),并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)。能夠提供及時響應(yīng)和高可靠性是其主要特點。

對于選項A,由于RTOS具有實時響應(yīng)的特性,因此,它的調(diào)度目標(biāo)是時間響應(yīng),而不是任務(wù)之間的公平性。所以,選項A不正確。

對于選項B,為了保證響應(yīng)的實時性,實時操作系統(tǒng)采用了搶占式的調(diào)度方式。所以,選項B正確。

對于選項C與選項D,為了保證響應(yīng)的實時性,實時操作系統(tǒng)采用了搶占式的調(diào)度方式,而不是采用基于時間片輪轉(zhuǎn)的調(diào)度方式,也不是靜態(tài)優(yōu)先級調(diào)度方式。所以,選項C與選項D不正確。

所以,本題的答案為B。

16.

以下關(guān)于鏈接的描述中,錯誤的是______。A.一個靜態(tài)庫中不能包含兩個同名全局函數(shù)的定義B.一個動態(tài)庫中不能包含兩個同名全局函數(shù)的定義C.如果兩個靜態(tài)庫都包含一個同名全局函數(shù),它們不能同時被鏈接D.如果兩個動態(tài)庫都包含一個同名全局函數(shù),它們不能同時被鏈接正確答案:D[解析]為了提高編程效率,通常會把一些公用函數(shù)制作成函數(shù)庫,供其他程序使用。函數(shù)庫分為靜態(tài)庫和動態(tài)庫兩種。靜態(tài)庫在程序編譯時會被鏈接到目標(biāo)代碼中,程序運行時將不再需要該靜態(tài)庫。動態(tài)庫在程序編譯時并不會被鏈接到目標(biāo)代碼中,而是在程序運行時才被載入,因此,在程序運行時還需要動態(tài)庫存在。

具體而言,靜態(tài)庫與動態(tài)庫的區(qū)別如下:靜態(tài)庫在程序的鏈接階段被復(fù)制到程序中,和程序運行的時候沒有關(guān)系;動態(tài)庫在鏈接階段沒有被復(fù)制到程序中,而是在程序運行時由系統(tǒng)動態(tài)加載到內(nèi)存中供程序調(diào)用。使用動態(tài)庫的優(yōu)點是系統(tǒng)只需載入一次動態(tài)庫,不同的程序可以得到內(nèi)存中相同的動態(tài)庫的副本,因此,節(jié)省了很多內(nèi)存資源。

通常,函數(shù)可以定義在3個地方:①程序自身;②靜態(tài)庫;③動態(tài)庫。由于靜態(tài)庫需要通過鏈接進入程序,所以,函數(shù)定義在程序和靜態(tài)庫可以看成是一樣的同名函數(shù)出現(xiàn)在程序和靜態(tài)庫中,一旦二者同時定義,會在鏈接時報重定義的錯誤。而當(dāng)同名函數(shù)出現(xiàn)在動態(tài)庫中時,盡管編譯鏈接可以通過,但是調(diào)用時會出現(xiàn)函數(shù)的覆蓋問題。

那么,定義在以上3個地方的同名函數(shù),會調(diào)用哪個函數(shù)呢?

1)程序和靜態(tài)庫定義了同名函數(shù),鏈接時會報重定義錯誤。

2)程序和動態(tài)庫定義了同名函數(shù),會覆蓋動態(tài)庫中定義的函數(shù)。

3)動態(tài)庫中定義的同名函數(shù),先鏈接覆蓋后鏈接的函數(shù)。

通過上面的分析可知,如果兩個靜態(tài)庫都包含一個同名全局函數(shù),它們不能同時被鏈接,而如果兩個動態(tài)庫都包含一個同名全局函數(shù),則會出現(xiàn)函數(shù)的覆蓋問題。所以,選項A、選項B、選項C都是正確的,只有選項D是錯誤的。

17.

下面關(guān)于main方法的方法頭的定義中,合法的是______。A.publicstaticvoidmain()B.publicstaticvoidmain(Stringargs[])C.publicvoidmain(Stringarg[])D.publicstaticintmain(String[]arg)正確答案:B

18.

Java語言中字符使用Unicode編碼,每個Unicode碼占用______比特位。A.4B.16C.8D.64正確答案:B[解析]在Java語言中,所有的字符都采用Unicode編碼,用兩個字節(jié)來編碼一個字符,即每個Unicode碼占用16比特位。所以,選項B正確。

19.

有如下代碼:

10.publicObjectm(){

11.Objecto=newFloat(3.1f);

12.Object[]oa=new()bject[1];

13.oa[0]=o;

14.o=null;

15.oa[0]=null;

16.print'return0';

17.}

當(dāng)Float對象在第11行被創(chuàng)建后,______能夠被垃圾回收。A.14行以后B.13行以后C.15行以后D.16行以后正確答案:C[解析]具體而言,垃圾回收器主要負責(zé)完成3項任務(wù):分配內(nèi)存、確保被引用對象的內(nèi)存不被錯誤地回收以及回收不再被引用的對象的內(nèi)存空間。

垃圾回收器的存在,一方面把開發(fā)人員從釋放內(nèi)存的復(fù)雜的工作中解脫出來,提高了開發(fā)人員的生產(chǎn)效率;另外一方面,對開發(fā)人員屏蔽了釋放內(nèi)存的方法,可以避免因為開發(fā)人員錯誤地操作內(nèi)存從而導(dǎo)致應(yīng)用程序的崩潰,保證了程序的穩(wěn)定性。但是,垃圾回收也帶來了問題,為了實現(xiàn)垃圾回收,垃圾回收器必須跟蹤內(nèi)存的使用情況,釋放沒用的對象,在完成內(nèi)存的釋放后還需要處理堆中的碎片,這些操作必定會增加JVM的負擔(dān),從而降低程序的執(zhí)行效率。

對于對象而言,如果沒有任何變量去引用它,那么該對象將不可能被程序訪問,因此,可以認(rèn)為它是垃圾信息,可以被回收。只要有一個以上的變量引用該對象,該對象就不會被垃圾回收。

對于本題而言,首先,在第11行定義了一個Float對象o,接著,在第13行把這個對象的引用賦值給數(shù)組oa[0]的第一個元素,此時這個Float對象有兩處被引用的地方,分別為o和oa[0];在第14行中執(zhí)行o=null后,這個Float對象仍然被oa[0]引用,在執(zhí)行完第15行后這個Float對象沒有被任何變量引用了,因此,就具備了被垃圾回收器回收的條件。所以,選項C正確。

20.

一個文件包含了200個記錄,若采用分塊查找法,每塊長度為4,則平均查找長度為______。A.30B.28C.29D.32正確答案:B[解析]分塊查找是折半查找和順序查找的一種改進方法,分塊查找由于只要求索引表是有序的,對塊內(nèi)結(jié)點沒有排序要求,因此,它特別適合于結(jié)點動態(tài)變化的情況。

對于分塊查找的平均查找長度,通常由兩部分組成,一個是對索引表進行查找的平均查找長度,一個是對塊內(nèi)結(jié)點進行查找的平均查找長度。假設(shè)線性表中共有n個結(jié)點,分成大小相等的b塊,每塊有s=n/b個結(jié)點。假定查找索引表采用順序查找,只考慮查找成功的情況,并假定對每個結(jié)點的查找概率是相等的,則其平均查找長度ASL=(b+1)/2+(s+1)/2;假設(shè)索引表中采用折半查找,則其平均查找長度ASL=(s+1)/2+log2(b+1)-1。

本題中,s=200/4=50,b=4,所以,其平均查找長度ASL=(200/4+4)/2+1=28,選項B正確。

所以,本題答案為B。

引申:有一個2000項的表,采用等分區(qū)間順序查找的分塊查找法,問:

1)每塊的理想長度是多少?

2)分成多少塊最為理想?

3)平均查找長度是多少?

4)若每塊是20,ASL是多少?求詳解。

分塊查找的平均查找長度包括索引表和分塊內(nèi)的兩部分之和,即索引表+塊中。

假設(shè)線性表長n,均勻分成m塊,每塊中記錄個數(shù)s,則(其中符號表示上取整),在等概率查找的前提下,如果約定在索引表中確定關(guān)鍵字所在的分塊也是順序查找,因為順序查找的平均查找長度為(L+1)/2,則ASL=(n/s+s)/2+1。當(dāng)s=sqrt(n)時,該和值有極小值:sqrt(n)+1。

因此,如果索引表內(nèi)也是順序查找,則每塊的理想元素個數(shù)是sqrt(2000),約為44.7,近似為45,同樣分塊數(shù)量也是45,因此,ASL=2*(45+1)/2=46。

如果每塊長20,則分塊為2000/20=100塊,按照上面的結(jié)果,則ASL=(100+1)/2+(20+1)/2=61。

21.

下面創(chuàng)建Map集合的方式中,正確的是______。A.Mapm=newMap(newCollection())B.Mapm=newMap(10,2,40)C.Mapm=newMap()D.Map是接口,所以不能實例化正確答案:D[解析]Java為數(shù)據(jù)結(jié)構(gòu)中的映射定義了一個接口java.util.Map,它有三個實現(xiàn)類:HashMap、Hashtable和TreeMap。由于接口中的方法都沒有實現(xiàn),因此,不能直接使用new來實例化一個接口,原因是new只能用來實例化非抽象的類。所以,選項D正確。

本題中,一種正確的寫法為Map<String,String>m=newHashMap<String,String>(),把實例化HashMap對象的實例賦值給Map接口變量m。

22.

下列有關(guān)Java語言的描述中,正確的是______。A.由于Java程序是解釋執(zhí)行的,所以,執(zhí)行前不需要進行編譯B.一個.java源程序編譯后將產(chǎn)生一個.class的字節(jié)碼文件C.安裝了JDK后,安裝程序會自動配置系統(tǒng)的環(huán)境變量path和classpathD.Java語言是面向?qū)ο蟮慕忉屝透呒壘幊陶Z言正確答案:D[解析]本題中,對于選項A,雖然Java語言是解釋執(zhí)行,但是執(zhí)行前需要把代碼編譯成一個中間代碼,然后解釋器對中間代碼解釋執(zhí)行。所以,選項A錯誤。

對于選項B,在Java語言中,一個類編譯后產(chǎn)生一個.class字節(jié)碼文件,如果一個.java源程序中有多個類,那么編譯后就會產(chǎn)生多個.class字節(jié)碼文件。所以,選項B錯誤。

對于選項C,JDK安裝后,需要手動配置環(huán)境變量path和classpath。所以,選項C錯誤。

對于選項D,Java語言是面向?qū)ο蟮慕忉屝透呒壘幊陶Z言。所以,選項D正確。

23.

線性表如果要頻繁地執(zhí)行插入和刪除操作,該線性表采取的存儲結(jié)構(gòu)應(yīng)該是______。A.散列B.順序C.鏈?zhǔn)紻.索引正確答案:C[解析]線性表的順序存儲是指用一組地址連續(xù)的存儲單元依次存儲線性表的數(shù)據(jù)元素。

鏈?zhǔn)酱鎯Y(jié)構(gòu)又叫鏈接存儲結(jié)構(gòu),在計算機中用一組任意的存儲單元存儲線性表的數(shù)據(jù)元素(這組存儲單元可以是連續(xù)的,也可以是不連續(xù)的)。它不要求邏輯上相鄰的元素在物理位置上也相鄰。因此,它沒有順序存儲結(jié)構(gòu)所具有的弱點,但也同時失去了順序表可隨機存取的優(yōu)點。

鏈?zhǔn)酱鎯Y(jié)構(gòu)有以下5個特點:

1)比順序存儲結(jié)構(gòu)的存儲密度小(每個結(jié)點都由數(shù)據(jù)域和指針域組成,所以,相同空間內(nèi)假設(shè)全存滿,則鏈?zhǔn)酱鎯Ρ软樞虼鎯λ艽鎯Φ臄?shù)據(jù)少)。

2)邏輯上相鄰的結(jié)點物理上不必相鄰。

3)插入、刪除靈活(不必移動結(jié)點,只要改變結(jié)點中的指針)。

4)查找結(jié)點時鏈?zhǔn)酱鎯σ软樞虼鎯β?/p>

5)每個結(jié)點由數(shù)據(jù)域和指針域組成。

鏈?zhǔn)浇Y(jié)構(gòu)的插入和刪除操作只需要修改插入和刪除結(jié)點以及其前驅(qū)結(jié)點的指針域即可,而順序存儲結(jié)構(gòu)在插入和刪除操作的時候需要執(zhí)行大量數(shù)據(jù)的移動操作。由此可以看出,順序表適合隨機訪問,不適合插入和刪除操作,而鏈?zhǔn)奖磉m合插入和刪除操作,不適合隨機訪問操作。散列表適合查找運算,索引表在插入和刪除的時候還需要修改索引表,由此鏈?zhǔn)奖碜钸m合插入和刪除操作。所以,選項C正確。

24.

下列代碼會存______出錯。1)publicvoidmodify(){2)inti,j,k;3)i=100;4)while(1>0){5)i=j*2;6)System.out.println("Thevalueofjis"+j);7)k=k+1;8)i--;9)}10)}

A.line4B.line6C.line7D.line8正確答案:C[解析]由于使用了沒有初始化的變量j,因此會出錯。

25.

使用dkpg命令安裝的軟件為______。A..rpmB..tar.gzC..tar.bz2D..deb正確答案:D[解析]對于選項A,.rpm格式的文件需要用rpm命令來安裝。所以,選項A錯誤。

對于選項B,.tar.gz格式的文件必須首先用tar命令解壓,解壓后才能安裝。所以,選項B錯誤。

對于選項C,.tar.bz2格式的文件也需要用tar命令解壓,解壓后才能安裝。所以,選項C錯誤。

對于選項D,.deb格式的文件需要用dkpg命令來安裝。所以,選項D正確。

26.

有如下代碼:classBase{Base(){System.out.print("Base");}}publicclassAlphaextendsBase{publicstaticvoidmain(String[]args){newAlpha();newBase();}}

上述代碼的輸出結(jié)果是______。A.BaseB.BaseBaseC.運行失敗D.編譯失敗正確答案:B[解析]在本題中,當(dāng)調(diào)用newAlpha()時,會首先調(diào)用父類的無參數(shù)的構(gòu)造方法,輸出Base,然后調(diào)用Alpha類的構(gòu)造方法(編譯器提供了一個默認(rèn)的構(gòu)造方法),接著在調(diào)用newBase()時,也會調(diào)用Base類的構(gòu)造方法,輸出Base。所以,選項B正確。

27.

按照MVC設(shè)計模式,JSP用于實現(xiàn)______。A.Controller(控制器)B.View(視圖)C.Model(模型)D.Database(數(shù)據(jù)庫)正確答案:B[解析]使用JSP與Servlet實現(xiàn)的MVC模型如圖所示。

MVC模型

在這個MVC模型中,視圖模塊采用JSP來實現(xiàn),主要負責(zé)數(shù)據(jù)的展現(xiàn),視圖可以從控制器上獲取模型的狀態(tài),當(dāng)然不是直接從控制器上獲取到的,而是控制器把模型的數(shù)據(jù)放到一個視圖可以訪問的地方,通過這種間接的方式來訪問模型的數(shù)據(jù)。

控制器使用Servlet來實現(xiàn),客戶端的所有請求都發(fā)送給Servlet,它接受請求,并根據(jù)請求消息把它們分發(fā)給對應(yīng)的JSP頁面來響應(yīng),同時根據(jù)需求生成JavaBean實例供JSP來使用。

模型采用JavaBean來實現(xiàn)的,這個模塊實現(xiàn)了實際的業(yè)務(wù)邏輯。

從以上分析可知,選項B正確。

28.

某系統(tǒng)中有11臺打印機,N個進程共享打印機資源,每個進程要求3臺,當(dāng)N的取值不超過______時,系統(tǒng)不會發(fā)生死鎖。A.3B.5C.8D.7正確答案:B[解析]本題中,不發(fā)生死鎖的條件是至少能保證1個進程能獲得3臺打印機資源。最壞的情況是1個進程獲取了3臺打印機資源,另外N-1個進程獲取到2臺打印機,等待獲取第3臺。

本題可以構(gòu)建如下等式關(guān)系:3+(N-1)*2=11,解算結(jié)果為N=5。所以,選項B正確。

29.

隨著IP網(wǎng)絡(luò)的發(fā)展,為了節(jié)省可分配的注冊IP地址,有一些地址被拿出來用于私有IP地址,以下不屬于私有IP地址范圍的是______。A.4B.8C.0D.00正確答案:C[解析]三個私有IP地址范圍:~55,~55和~55。末尾全0的表示一個網(wǎng)段,不用于單獨的主機IP使用,x.x.0.1一般是路由器的IP地址(大多路由器產(chǎn)品IP地址為或)。末尾全1的(255)是廣播地址,也不用于單獨主機IP。所以,選項C正確。

30.

在JDBC中,用于表示數(shù)據(jù)庫連接的對象是______。A.StatementB.ConnectionC.PreparedStatementD.DriverManager正確答案:B[解析]JDBC(JavaDataBaseConnectivity,Java數(shù)據(jù)庫連接)用于在Java程序中實現(xiàn)數(shù)據(jù)庫操作功能,它提供了執(zhí)行SQL語句、訪問各種數(shù)據(jù)庫的方法,并為各種不同的數(shù)據(jù)庫提供統(tǒng)一的操作接口,java.sql包中包含了JDBC操作數(shù)據(jù)庫的所有類。通過JDBC訪問數(shù)據(jù)庫一般有如下幾個步驟:

1)加載JDBC驅(qū)動器。將數(shù)據(jù)庫的JDBC驅(qū)動加載到classpath中,在基于JavaEE的Web應(yīng)用開發(fā)過程中,通常要把目標(biāo)數(shù)據(jù)庫產(chǎn)品的JDBC驅(qū)動復(fù)制到WEB-INF/lib下。

2)加載JDBC驅(qū)動,并將其注冊到DriverManager中。一般使用反射Class.forName(StringdriveNamel。

3)建立數(shù)據(jù)庫連接,取得Connection對象。一般通過DriverManager.getConnection(url,username,passwd)方式實現(xiàn),其中,url表示連接數(shù)據(jù)庫的字符串,username表示連接數(shù)據(jù)庫的用戶名,passwd表示連接數(shù)據(jù)庫的密碼。

4)建立Statement對象或者PreparedStatement對象。

5)通過Statement或PreparedStatement對象執(zhí)行SQL語句。

6)訪問結(jié)果集ResultSet對象。

7)依次將ResultSet、Statement、PreparedStatement、Connection等對象關(guān)閉,釋放掉所占用的資源。

通過上述分析可知,選項B正確。

二、論述題1.

JDK和JRE的區(qū)別是什么?正確答案:JVM(JavaVirtualMachine,Java虛擬機)是實現(xiàn)Java跨平臺的核心,負責(zé)解釋執(zhí)行class文件。

JRE(JavaRuntimeEnvironment,Java運行環(huán)境)是運行Java程序所必須的環(huán)境的集合,包括JVM標(biāo)準(zhǔn)實現(xiàn)以及Java核心類庫。在編寫Java程序的時候,經(jīng)常會用到系統(tǒng)的類庫,JVM在解釋執(zhí)行class文件的時候,也會用到這些類庫。在Java的安裝目錄下,通常會有bin目錄和lib目錄(在配置環(huán)境變量的時候,也需要把bin目錄配置到path中,lib目錄配置到classpath中),這里的lib目錄下就存放了編寫代碼或運行代碼時需要用到的類庫。可以認(rèn)為bin目錄就是JVM,而JVM+lib=JRE。

JDK(JavaDevelopmentKit,Java開發(fā)工具包)是整個Java的核心,包括Java運行環(huán)境(JavaRuntimeEnvironment)、許多開發(fā)與調(diào)試Java工具(包括javac、java、appletviewer、javadoc、jdb、javah、javap等)和Java基礎(chǔ)的類庫(即JavaAPI,包括rt.jar)。也就是說,JDK=JRE+Java開發(fā)工具。

2.

編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。但是要保證漢字不被截半個,例如“人ABC”4,應(yīng)該截為“人AB”,輸入“人ABC們DEF”,6,應(yīng)該輸出為“人ABC”而不是“人ABC+們的半個”。正確答案:在Java語言中,默認(rèn)使用的Unicode編碼方式,即每個字符占用兩個字節(jié),因此,可以用來存儲中文。雖然String是由char所組成的,但是它采用了一種更加靈活的方式來存儲,即英文占用一個字符,中文占用兩個字符。采用這種存儲方式的一個重要作用就是可以減少所需的存儲空間,提高存儲效率。根據(jù)這個特點,可以采用如下代碼來完成題目的要求:

publicclassTest

{

//判斷字符c是否是中文字符,如果是返回true

publicstaticbooleanisChinese(charc)

{

Stringsb=String.valueOf(c);

returnsb.getBytes().length>1?true:false;

}

publicStringmmcateStr(Stringstr,intlen)

{

if(str==null||str.equals("")||len==0)

return"";

char[]chrArr=str.toCharArray();

StringBuildersb=newStringBuilder("");

intcount=0;//用來記錄當(dāng)前截取字符的長度

for(charcc:chrArr)

{

if(count<len)

{

if(isChinese(cc))

{

//如果要求截取子串的長度只差一個字符,但是接下來的字符是中文,

//則截取結(jié)果子串中不保存這個中文字符

if(count+1==len)

returnsb.toString();

count=count+2;

sb=sb.append(cc);

}

else

{

count=count+1;

sb=sb.append(cc);

}

}

else

{

break;

}

}

returnsb.toString();

}

publicstaticvoidmain(String[]args)

{

TestsplitStr=newTest();

Stringsb="人ABC們DEF";

System.out.println(splitStr.truncateStr(sb,6));

}

}

程序的運行結(jié)果為:

人ABC

3.

如何檢測一個鏈表是否有環(huán)正確答案:定義兩個指針fast與slow,其中,fast是快指針,slow是慢指針,二者的初始值都指向鏈表頭,slow每次前進一步,fast每次前進兩步,兩個指針同時向前移動,快指針每移動一次都要跟慢指針比較,直到當(dāng)快指針等于慢指針為止,就證明這個鏈表是帶環(huán)的單向鏈表,否則,證明這個鏈表是不帶環(huán)的循環(huán)鏈表(fast先行到達尾部為NULL,則為無環(huán)鏈表)。具體實現(xiàn)代碼如下:

publicbooleanIsLoop(Nodehead){

Nodefast=head;

Nodeslow=head;

if(fast==null){

returnfalse;

}

while(fast!=null&&fast.next!=null){

fast=fast.next.next;

slow=slow.next;

if(fast==slow){

returntrue;

}

}

return!(fast==null||fast.next==null);

}

上述方法只能用來判斷鏈表是否有環(huán),那么如何找到環(huán)的入口點呢?如果單鏈表有環(huán),按照上述思路,當(dāng)走得快的指針fast與走得慢的指針slow相遇時,slow指針肯定沒有遍歷完鏈表,而fast指針已經(jīng)在環(huán)內(nèi)循環(huán)了n圈(n>=1)。假設(shè)slow指針走了s步,則fast指針走了2s步(fast步數(shù)還等于s加上在環(huán)上多轉(zhuǎn)的n圈),設(shè)環(huán)長為r,則滿足如下關(guān)系表達式:

2s=a+nr

s=nr

設(shè)整個鏈表長L,入口環(huán)與相遇點距離為x,起點到環(huán)入口點的距離為a,則滿足如下關(guān)系表達式:

a+x=Fir

a+x=(n-1)r+r=(n-1)r+L-a

a=(n-1)r+(L-a-x)

(L-a-x)為相遇點到環(huán)入口點的距離,從鏈表頭到環(huán)入口點等于(n-1)循環(huán)內(nèi)環(huán)+相遇點到環(huán)入口點,于是在鏈表頭與相遇點分別設(shè)一個指針,每次各走一步,兩個指針必定相遇,且相遇第一點為環(huán)入口點。

具體實現(xiàn)代碼如下:

publieNodeFindLoopPort(Nodehead){

Nodeslow=head,fast=head;

while(fast!=null&&fast.next!=null){

slow=slow.next;

fast=fast.next.next;

if(slow==fast)break;

}

if(fast==null||fast.next==null)

returnnull;

slow=head;

while(slow!=fast){

slow=slow.next;

fast=fast.next;

}

returnslow;

}

4.

如何不使用比較運算就可以求出兩個數(shù)的最大值與最小值正確答案:通常來講,在求兩個數(shù)中的最大值或最小值時,最常用的方法就是比較大小。下面給出一種不需比較大小就可以求出兩個數(shù)中的最大值與最小值的方法,該方法用到了一種比較巧妙的數(shù)學(xué)方法,即最大值Max(a,b)=(a+b+|a-b|)/2,最小值Min(a,b)=(a+b-|a-b|)/2。當(dāng)然,這種方法存在著一個問題,即當(dāng)a與b的值非常大時,會出現(xiàn)數(shù)據(jù)溢出的情況,解決的辦法就是在計算時把a與b的值轉(zhuǎn)換為長整型,從而可以避免溢出的發(fā)生。示例如下:

publicclassTest{

//可能會溢出

publicstaticintmax(inta,intb){

return(a+b+Math.abs(a-b))/2;

}

publicstaticintmin(inta,intb){

return(a+b-Math.abs(a-b))/2;

}

publicclassTest{

//不會溢出

publicstaticintmax1(inta,intb){

return(int)(((long)a+(long)b+Math.abs((long)a-(long)b))/2);

}

publicstaticintmin1(inta,intb){

return(int)(((long)a+(long)b-Math.ahs((long)a-(long)b))/2);

}

publicstaticvoidmain(String[]args){

System.out.println("max(3,5)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論