freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java面試題(編輯修改稿)

2025-03-09 23:05 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 小和 速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類型和原始類型用作某個(gè)類的實(shí)例數(shù)據(jù)時(shí)所指定的缺省值。對(duì)象引用實(shí)例變量的缺省值為 null,而原始類型實(shí)例變量的缺省值與它們的類型有關(guān) 3運(yùn)行時(shí)異常與一般異常有何異同 答: 異常表示程序運(yùn)行過程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常表示虛擬機(jī)的通常操作中可能遇到的異常,是一種常見運(yùn)行錯(cuò)誤。 java 編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。 3說(shuō)出 ArrayList,Vector, LinkedList的存 儲(chǔ)性能和特性 答: ArrayList 和 Vector 都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢, Vector 由于使用了 synchronized方法(線程安全),通常性能上較 ArrayList差,而LinkedList 使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。 HashMap 和 Hashtable的區(qū) 別 答: HashMap是 Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了 Map接口,主要區(qū)別在于HashMap允許空( null)鍵值( key) ,由于非線程安全,效率上可能高于 Hashtable。 HashMap允許將 null 作為一個(gè) entry 的 key 或者 value,而 Hashtable不允許。 HashMap 把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和 containsKey。因?yàn)?contains 方法容易讓人引起誤解。 Hashtable繼承自 Dictionary 類,而 HashMap 是 引進(jìn)的 Map interface的一個(gè)實(shí)現(xiàn)。 最大的不同是, Hashtable的方法是 Synchronize的,而 HashMap不是,在多個(gè)線程訪問 Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而 HashMap 就必須為之提供外同步。 Hashtable和 HashMap采用的 hash/rehash算法都大概一樣,所以性能不會(huì)有很大的差異。 4 heap和 stack 有什么區(qū)別 答: 棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進(jìn)先出的方 式進(jìn)行處理。堆是棧的一個(gè)組成元素 4 Java的接口和 C++的虛類的相同和不同處 答: 由于 Java 不支持多繼承,而有可能某個(gè)類或?qū)ο笠褂梅謩e在幾個(gè)類或?qū)ο罄锩娴姆椒ɑ驅(qū)傩裕F(xiàn)有的單繼承機(jī)制就不能滿足要求。與繼承相比,接口有更高的靈活性,因?yàn)榻涌谥袥]有任何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類實(shí)現(xiàn)了接口以后,該類要實(shí)現(xiàn)接口里面所有的方法和屬性,并且接口里面的屬性在默認(rèn)狀態(tài)下面都是public static,所有方法默認(rèn)情況下是 。 4 Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用 答: 當(dāng) JAVA 程序違反了 JAVA 的語(yǔ)義規(guī)則時(shí), JAVA 虛擬機(jī)就會(huì)將發(fā)生的錯(cuò)誤表示為一個(gè)異常。違反語(yǔ)義規(guī)則包括 2種情況。一種是 JAVA類庫(kù)內(nèi)置的語(yǔ)義檢查。例如數(shù)組下標(biāo)越界 ,會(huì)引發(fā) IndexOutOfBoundsException。訪問 null 的對(duì)象時(shí)會(huì)引發(fā) NullPointerException。另一種情況就是 JAVA 允許程序員擴(kuò)展這種語(yǔ)義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用 throw 關(guān)鍵字引發(fā)異常。所有的異常都是 的子類。 4垃圾回收的優(yōu)點(diǎn)和原理。并考慮 2種回收機(jī)制 答: Java 語(yǔ)言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使 c++程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得 Java 程序員在編寫程序的時(shí)候不再需要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制, Java中的對(duì)象不再有 作用域 的概念,只有對(duì)象的引用才有 作用域 。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存堆中已經(jīng)死亡的或者長(zhǎng)時(shí)間沒有使用的對(duì)象進(jìn)行清楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對(duì)某個(gè)對(duì)象或所有對(duì)象進(jìn)行垃圾回收?;厥諜C(jī)制有分代 復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。 4你所知道的集合類都有哪些?主要方法? 答: 最常用的集合類是 List 和 Map。 List 的具體實(shí)現(xiàn)包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構(gòu)建、存儲(chǔ)和操作任何類型對(duì)象的元素列表。 List 適用于按數(shù)值索引訪問元素的情形。 Map 提供了一個(gè)更通用的元素存儲(chǔ)方法。 Map 集合類用于存儲(chǔ)元素對(duì)(稱作 鍵 和 值 ),其中每個(gè)鍵映射到一個(gè)值。 4描述一下 JVM 加載 class文件的原理機(jī)制 ? 答: JVM 中類的裝載是由 ClassLoader 和它的子類來(lái)實(shí)現(xiàn)的 ,Java ClassLoader 是一個(gè)重要的 Java 運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。 4排序都有哪幾種方法?請(qǐng)列舉 答: 排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序) 快速排序的偽代碼。 / /使用快速排序方法對(duì) a[ 0 :n 1 ]排序 從 a[ 0 :n 1 ]中選擇一個(gè)元素作為 m i d d l e,該元素為支點(diǎn) 把余下的元素分割為兩段 left 和 r i g h t,使得 l e f t 中的元素都小于等于支點(diǎn),而right 中的元素都大于等于支點(diǎn) 遞歸地使用快速排序方法對(duì) left 進(jìn)行排序 遞歸地使用快速排序方法對(duì) right 進(jìn)行排序 所得結(jié)果為 l e f t + m i d d l e + r i g h t 4 JAVA 語(yǔ)言如何進(jìn)行異常處理,關(guān)鍵字: throws,throw,try,catch,finally 分別代表什么意義?在 try塊中可以拋出異常嗎? 答: Java 通過面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類,并提供了良好的接口。在 Java中,每個(gè)異常都是一個(gè)對(duì)象,它是 Throwable類或其它子類的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異常后便拋出一個(gè)異常對(duì)象,該對(duì)象中包含有異常信息,調(diào)用這個(gè)對(duì)象的方法可以捕獲到這個(gè)異常并進(jìn)行處理。 Java 的異常處理是通過 5 個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的: try、 catch、 throw、 throws 和 finally。一般情況下是用 try 來(lái)執(zhí)行一 段程序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出( throws)一個(gè)異常,這時(shí)候你可以通過它的類型來(lái)捕捉( catch)它,或最后( finally)由缺省處理器來(lái)處理。 用 try 來(lái)指定一塊預(yù)防所有 異常 的程序。緊跟在 try程序后面,應(yīng)包含一個(gè) catch子句來(lái)指定你想要捕捉的 異常 的類型。 throw 語(yǔ)句用來(lái)明確地拋出一個(gè) 異常 。 throws 用來(lái)標(biāo)明一個(gè)成員函數(shù)可能拋出的各種 異常 。 Finally為確保一段代碼不管發(fā)生什么 異常 都被執(zhí)行一段代碼。 可以在一個(gè)成員函數(shù)調(diào)用的外面寫一個(gè) try 語(yǔ)句,在這個(gè)成員函數(shù)內(nèi)部寫 另一個(gè) try語(yǔ)句保護(hù)其他代碼。每當(dāng)遇到一個(gè) try 語(yǔ)句, 異常 的框架就放到堆棧上面,直到所有的 try語(yǔ)句都完成。如果下一級(jí)的 try語(yǔ)句沒有對(duì)某種 異常 進(jìn)行處理,堆棧就會(huì)展開,直到遇到有處理這種 異常 的 try語(yǔ)句。 4一個(gè) .java源文件中是否可以包括多個(gè)類(不是內(nèi)部類)?有什么限制? 答: 可以。必須只有一個(gè)類名與文件名相同。 50、 java中有幾種類型的流? JDK為每種類型的流提供了一些抽象類以供繼承,請(qǐng)說(shuō)出他們分別是哪些類? 答: 字節(jié)流,字符流。字節(jié)流繼承于 InputStream OutputStream,字符流繼承于InputStreamReader OutputStreamWriter。在 包中還有許多其他的流,主要是為了提高性能和使用方便。 5 java中會(huì)存在內(nèi)存泄漏嗎,請(qǐng)簡(jiǎn)單描述。 答: 會(huì)。自己實(shí)現(xiàn)堆載的數(shù)據(jù)結(jié)構(gòu)時(shí)有可能會(huì)出現(xiàn)內(nèi)存泄露,可參看 effective java. 5 java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么? 答: 方法的重寫 Overriding 和重載 Overloading是 Java 多態(tài)性的不同表現(xiàn)。重寫 Overriding 是父類與子類之間多態(tài)性的一種表現(xiàn),重載 Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。 5垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動(dòng)通知虛 擬機(jī)進(jìn)行垃圾回收 答
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1