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

正文內(nèi)容

java面試題-解密版-閱讀頁

2025-01-23 08:07本頁面
  

【正文】 )。 } } return ret。 答:代碼如下: public String subString(String str, int subBytes) { int bytes = 0。 i ()。 } char c = (i)。 // 英文字符的字節(jié)數(shù)看作 1 } else { bytes += 2。 } } } return str。//獲得年 2)以下方法均可獲得該毫秒數(shù) : ().getTimeInMillis()。 3)示例代碼如下 : Calendar time = ()。 4)利用 類中的 format()方法可將日期格式化。 【基礎(chǔ)】 答: public class YesterdayCurrent{ public static void main(String[] args){ Calendar cal = ()。 (())?!净A(chǔ)】 答: JavaScript 與 Java 是兩個(gè)公司開發(fā)的不同的兩個(gè)產(chǎn)品。下面對兩種語言間的異同作如下比較: 1)基于對象和面向?qū)ο螅?Java 是一種真正的面向?qū)ο蟮恼Z言,即使是開發(fā)簡單的程序,必須設(shè)計(jì)對象; JavaScript 是種腳本語言,它可以用來制作與網(wǎng)絡(luò)無關(guān)的,與用戶交互 作用的復(fù)雜軟件。因而它本身提供了非常豐富的內(nèi)部對象供設(shè)計(jì)人員使用; 2)解釋和編譯: Java 的源代碼在執(zhí)行之前,必須經(jīng)過編譯; JavaScript 是一種解釋性編程語言,其源代碼不需經(jīng)過編譯,由瀏覽器解釋執(zhí)行; 3)強(qiáng)類型變量和類型弱變量: Java 采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須作聲明; JavaScript 中變量聲明,采用其弱類型。 6什么時(shí)候用 assert?【中等難度】 答: assertion(斷言 )在軟件開發(fā)中是一種常用的調(diào)試方式,很多開發(fā)語言中都支持這種機(jī)制。 assertion 檢查通常在開發(fā)和測試時(shí)開啟。在實(shí)現(xiàn)中,斷言是一個(gè)包含布爾表達(dá)式的語句,在執(zhí)行這個(gè)語句時(shí)假定該表達(dá)式為 true;如果表達(dá)式計(jì)算為 false,那么系統(tǒng)會(huì)報(bào)告一個(gè) Assertionerror。 // throws an Assertionerror if a = 0 斷言可以有兩種形式: assert Expression1 。 Expression1 應(yīng)該總是產(chǎn)生一個(gè)布爾值。 斷言在默認(rèn)情況下是禁用的, 要在編譯時(shí)啟用 斷言,需使用 source 標(biāo)記: javac source 要在運(yùn)行時(shí)啟用斷言,可使用 enableassertions 或者 ea 標(biāo)記。 要在系統(tǒng)類中啟用斷言,可使用 esa 或者 dsa 標(biāo)記。可以在預(yù)計(jì)正常情況下不會(huì)到達(dá)的任何位置上放置斷言。不過,斷言不應(yīng)該用于驗(yàn)證傳 遞給公有方法的參數(shù),因?yàn)椴还苁欠駟⒂昧藬嘌?,公有方法都必須檢查其參數(shù)。另外,斷言不應(yīng)該以任何方式改變程序的狀態(tài)。違反語義規(guī)則包括 2 種情況。例如數(shù)組下標(biāo)越界 ,會(huì)引發(fā) IndexOutOfBoundsException。另一種情況就是 JAVA 允許程序員擴(kuò)展這種語義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用 throw 關(guān)鍵字引發(fā)異常。 6 error 和 exception 有什么區(qū)別 ? 【基礎(chǔ)】 15 答: error 表示系統(tǒng)級的錯(cuò)誤和程序不必處理的異常,是恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題;比如內(nèi)存溢出,不可能指望程序能處理這樣的情況; exception 表示需要捕捉或者需要程序進(jìn)行處理的異常,是一種設(shè)計(jì)或?qū)崿F(xiàn)問題;也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。 6 JAVA 語言如何進(jìn)行異常處理,關(guān)鍵字: throws,throw,try,catch,finally分別代表什么意義?在 try 塊中可以拋出異常嗎?【基礎(chǔ)】 答: Java 通過面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類,并提供了良好的接口。當(dāng)一個(gè)方法出現(xiàn)異常后便拋出一個(gè)異常對象,該對象中包含有異常信息,調(diào)用這個(gè)對象的方法可以捕獲到這個(gè)異常并進(jìn)行處理。一般情況下是用 try 來執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出( throws)一個(gè)異常,這時(shí)候你可以通過 它的類型來捕捉( catch)它,或最后( finally)由缺省處理器來處理; try 用來指定一塊預(yù)防所有 “ 異常 ” 的程序; catch 子句緊跟在 try 塊后面,用來指定你想要捕捉的 “ 異常 ” 的類型; throw 語句用來明確地拋出一個(gè) “ 異常 ” ; throws 用來標(biāo)明一個(gè)成員函數(shù)可能拋出的各種 “ 異常 ” ; Finally 為確保一段代碼不管發(fā)生什么 “ 異常 ” 都被執(zhí)行一段代碼; 可以在一個(gè)成員函數(shù)調(diào)用的外面寫一個(gè) try 語句,在這個(gè)成員函數(shù)內(nèi)部寫另一個(gè) try 語句保護(hù)其他代碼。如果下一級的 try 語句沒有對某種 “ 異常 ” 進(jìn)行處理,堆棧就會(huì)展開,直到遇到有處理這種“ 異常 ” 的 try 語句。 java 編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。finally:再異常處理時(shí)提供 finally 塊來執(zhí)行任何清除操作;如果拋出一個(gè)異常,那么相匹配的 catch 子句就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入 finally 塊(如果有的話)。 這個(gè)方法是由垃圾收集器在確定 這個(gè)對象沒有被引用時(shí)對這個(gè)對象調(diào)用的。子類覆蓋 finalize() 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。 6類 Example A 繼承 Exception,類 ExampleB 繼承 Example A; 【基礎(chǔ)】 有如下代碼片斷: try{ 16 throw new ExampleB(“b”) ; }catch( ExampleA e) { ( “ExampleA” ) ; }catch( Exception e) { ( “Exception” ) ; } 輸出的內(nèi)容應(yīng)該是: A: ExampleA B: Exception C: b D:無 答:輸出為 A。 7 List,Set,Map 是否繼承自 Collection 接口?【基礎(chǔ)】 答: List,Set 是; Map 不是。 List 的具體實(shí)現(xiàn)包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構(gòu)建、存儲和操作任何類型對象的元素列表。 Map 提供了一個(gè)更通用的元素存儲方法。 7說出 ArrayList,Vector, LinkedList 的存儲性能和特性?【基礎(chǔ)】 答: ArrayList 和 Vector 都是使用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲的數(shù)據(jù)以便增加和插入元素,它 們都允許直接按序號索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢, Vector 由于使用了 synchronized 方法(線程安全),通常性能上較 ArrayList 差,而 LinkedList 使用雙向鏈表實(shí)現(xiàn)存儲,按序號索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。 7 HashMap 和 Hashtable 的區(qū)別 ? 【基礎(chǔ)】 答:二者都實(shí)現(xiàn)了 Map 接口,是將惟一鍵映射到特定的值上;主要區(qū)別在于: 1)HashMap 沒有排序,允許一個(gè) null 鍵和多個(gè) null 值 ,而 Hashtable 不允許; 2)HashMap 把 Hashtable 的 contains 方法 去掉了,改成 containsvalue 和 containsKey,因?yàn)? contains 方法容易讓人引起誤解; 3)Hashtable 繼承自 Dictionary 類, HashMap 是 引進(jìn)的 Map 接口的實(shí)現(xiàn); 4)Hashtable 的方法是 Synchronize 的,而 HashMap 不是,在多個(gè)線程訪問 Hashtable 時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而 HashMap 就必須為之提供外同步。 7 Arraylist 與 Vector 區(qū)別?【基礎(chǔ)】 答:就 ArrayList 與 Vector 主要從二方面來說: 1)同步性: Vector 是線程安全的(同步),而 ArrayList 是線程序不安全的; 17 2)數(shù)據(jù)增長:當(dāng)需要增長時(shí) ,Vector 默認(rèn)增長一倍,而 ArrayList 卻是一半。 Set 無法擁有重 復(fù)元素 ,內(nèi)部排序。 7 Set 里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢 ? 是用 ==還是 equals()? 它們有何區(qū)別 ? 【基礎(chǔ)】 答:里的元素是不能重復(fù)的, equals ()方法來區(qū)分重復(fù)與否。 7用程序給出隨便大小的 10個(gè)數(shù),序號為 110,按從小到大順序輸出,并輸出相應(yīng)的序號。 import 。 import 。 import 。 // 創(chuàng)建隨機(jī)數(shù)生成器 List list = new ArrayList()。 i 10。 } (list)。 int count = 0。 } } public static void main(String[] args) { printRandomBySort()。 import .*。 public InsertSort(int num,int mod) { al = new ArrayList(num)。 (The ArrayList Sort Before:)。inum 。 (al[+i+]=+(i))。 int MaxSize=1。i()。 if(() = ((Integer)(MaxSize1)).intValue()){ (MaxSize,tempInt)。 (())。jMaxSize 。 MaxSize++。 break。 for(int i=0。i++){ (al[+i+]=+(i))。 ()。 線程部分:(共 10 題:基礎(chǔ) 7 道,中等難度 3 道) 8 sleep() 和 wait() 有什么區(qū)別 ? 【基礎(chǔ)】 答: sleep 是線程類( Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù)。 wait 是 Object 類的方法,對此對象調(diào)用 wait 方法導(dǎo)致本線程放棄對象鎖,進(jìn)入等待此對象的等待鎖定池,只有針對此對象發(fā)出 notify 方法(或 notifyAll)后本線程才進(jìn)入對象鎖定池準(zhǔn)備獲得對象鎖進(jìn)入運(yùn)行狀態(tài)。 【基礎(chǔ)】 8請說出你所知道的線程同步的方法。 notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切的喚醒某一個(gè)等待狀態(tài)的線程,而是由 JVM 確定喚醒哪個(gè)線程,而且不是按優(yōu)先級; notityAll():喚醒所有處入等待狀態(tài)的線程 ,注意并不是給所有喚醒線程一個(gè)對象的鎖 ,而是讓它們競爭。 8同步和異步有何異同,在什么情況下分別使用他們?舉例說明。例如正在寫的數(shù)據(jù)以后可能被另一個(gè)線程讀到,或者正在讀的數(shù)據(jù)可能已經(jīng)被另一個(gè)線程寫過了,那么這些數(shù)據(jù)就是共享數(shù)據(jù),必須進(jìn)行同步存取。 8啟動(dòng)一個(gè)線程是用 run()還是 start()?【基礎(chǔ)】 答:啟動(dòng)一個(gè)線程是調(diào)用 start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài) ,這意味著它可以由 JVM 調(diào)度并執(zhí)行。 8 線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系?【基礎(chǔ)】 答:線程指在程序執(zhí)行過程中,能夠執(zhí)行程序代碼的一個(gè)執(zhí)行單位,每個(gè)程序至少都有一個(gè)線程,也就是程序本身; Java 中的線程有四種狀態(tài)分別是 :運(yùn)行、就緒、掛起、結(jié)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1