



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Java大數(shù)據(jù)面試常見問題1.String
和
StringBuffer
的區(qū)別JAVA
平臺提供了兩個類
:String
和
StringBuffer
,它們可以儲存和操作字符串,即包含多個字符的字符數(shù)據(jù)這個
String
類提供了數(shù)值不可改變字符串而這個
StringBuffer
類提供的字符串進行修改當(dāng)你知道字符數(shù)能力是一個相對的概念。你今天做不到的事情,只要堅持通過學(xué)習(xí)和挑戰(zhàn) 明天一定能做到據(jù)要改變的時候你就可以使用
StringBuffer
典型地,你可以使用
StringBuffers
來動態(tài)構(gòu)造字符數(shù)據(jù)2.說出
ArrayList,Vector,LinkedList
的存儲性能和特性ArrayList 和Vector 都是使用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素數(shù)大于實際存儲數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數(shù)組元素移動等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector 由于使用了 synchronized 思路方法(線程安全),通常性能上較 ArrayList 差,而LinkedList 使用雙向鏈表實現(xiàn)存儲,按序號索引數(shù)據(jù)需要進行前向或后向遍歷,但是插入數(shù)據(jù)時只需要記錄本項前后項即可,所以插入速度較快3.HashMap 和Hashtable 的區(qū)別HashMap是Hashtable的輕量級實現(xiàn)(非線程安全的實現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于HashtableJAVA中文站社區(qū)門戶oC)|g|ax,HashMap允許將Null作為一個entrydekey或者value,而Hashtable不允許HashMap把Hashtable的contains思路方法去掉了,改成containsvalue和containsKey因為contains思路方法容易讓人引起誤解Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Mapinterface的一個實現(xiàn)。最大的區(qū)別是,Hashtable的思路方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的思路方法實現(xiàn)同步,而HashMap就必須為的提供外同步。Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。4.final,finally,finalize的區(qū)別final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally 是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize 是Object 類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關(guān)閉文件等。swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?swtich中只能用byteshortintchar多線程有幾種實現(xiàn)方法,都是什么?哪一種方式比較優(yōu)秀?同步有幾種實現(xiàn)方法,都是什么?多線程有兩種實現(xiàn)方法,分別是繼承 Thread 類與實現(xiàn) Runnable 接口實現(xiàn)Runnable 接口比較好,因為實現(xiàn)類可以實現(xiàn)多個接口,而只能繼承一個類。同步的實現(xiàn)方面有兩種,分別是 synchronized,wait 與notifyjava中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類字 節(jié) 流 , 字 符 流 。 字 節(jié)流 繼 承 與 inputStream/outputStream, 字符 流 繼 承 于inputStreamReader/outputSteamWriter 。8:如果main 方法被聲明為 private 會怎樣?答案:能正常編譯,但運行的時候會提示” main方法不是 public 的”。9:Java里的傳引用和傳值的區(qū)別是什么?答案:傳引用是指傳遞的是地址而不是值本身,傳值則是傳遞值的一份拷貝。10:如果要重寫一個對象的 equals 方法,還要考慮什么?答案:hashCode。11:Java的”一次編寫,處處運行”是如何實現(xiàn)的?答案:Java程序會被編譯成字節(jié)碼組成的class文件,這些字節(jié)碼可以運行在任何平臺,因此Java是平臺獨立的。12:說明一下publicstaticvoidmain(Stringargs[])這段聲明里每個關(guān)鍵字的作用答案:public:main方法是Java程序運行時調(diào)用的第一個方法,因此它必須對Java環(huán)境可見。所以可見性設(shè)置為pulic.static:Java平臺調(diào)用這個方法時不會創(chuàng)建這個類的一個實例,因此這個方法必須聲明為static。void:main方法沒有返回值。String是命令行傳進參數(shù)的類型,args是指命令行傳進的字符串?dāng)?shù)組。13:==與equals的區(qū)別答案:==比較兩個對象在內(nèi)存里是不是同一個對象,就是說在內(nèi)存里的存儲位置一致。兩個String對象存儲的值是一樣的,但有可能在內(nèi)存里存儲在不同的地方.==比較的是引用而equals方法比較的是內(nèi)容。publicbooleanequals(Objectobj)這個方法是由Object對象提供的,可以由子類進行重寫。默認的實現(xiàn)只有當(dāng)對象和自身進行比較時才會返回true,這個時候和==是等價的。String,BitSet,Date,和File都對equals方法進行了重寫,對兩個String對象而言,值相等意味著它們包含同樣的字符序列。對于基本類型的包裝類來說,值相等意味著對應(yīng)的基本類型的值一樣。public classEqualsTest {public static void main(String[] args) {String s1= “abc”;String s2= s1;String s5= “abc”;String s3= new String(”abc”);Strings4=newString(”abc”);System.out.println(”==comparison:”+(s1==s5));System.out.println(”==comparison:”+(s1==s2));System.out.println(”Usingequalsmethod:”+s1.equals(s2));System.out.println(”==comparison:”+s3==s4);System.out.println(”Usingequalsmethod:”+s3.equals(s4));}}結(jié)果:== comparison :true== comparison :trueUsing equals method :truefalseUsing equals method :true14:如果去掉了main方法的static修飾符會怎樣?答案:程序能正常編譯。運行時會拋NoSuchMethodError異常。15:為什么oracletype4驅(qū)動被稱作瘦驅(qū)動?答案:oracle提供了一個type4JDBC驅(qū)動,被稱為瘦驅(qū)動。這個驅(qū)動包含了一個oracle自己完全用Java實現(xiàn)的一個TCP/IP的Net8的實現(xiàn),因此它是平臺獨立的,可以在運行時由瀏覽器下載,不依賴任何客戶端的oracle實現(xiàn)。客戶端連接字符串用的是TCP/IP的地址端口,而不是數(shù)據(jù)庫名的tnsname。16:介紹一下finalize方法答案:final:常量聲明。finally:處理異常。finalize:幫助進行垃圾回收。接口里聲明的變量默認是final的。final類無法繼承,也就是沒有子類。這么做是出于基礎(chǔ)類型的安全考慮,比如String和Integer。這樣也使得編譯器進行一些優(yōu)化,更容易保證線程的安全性。final方法無法重寫。final變量的值不能改變。finalize()方法在一個對象被銷毀和回收前會被調(diào)用。finally,通常用于異常處理,不管有沒有異常被拋出都會執(zhí)行到。比如,關(guān)閉連接通常放到finally塊中完成。17:什么是JavaAPI?答案:JavaAPI是大量軟件組件的集合,它們提供了大量有用的功能,比如GUI組件。18:GregorianCalendar類是什么東西?答案:GregorianCalendar提供了西方傳統(tǒng)日歷的支持。19:ResourceBundle類是什么?答案:ResourceBundle 用來存儲指定語言環(huán)境的資源,應(yīng)用程序可以根據(jù)運行時的語言環(huán)境來加載這些資源,從而提供不同語言的展示。20:為什么 Java里沒有全局變量 ?答案:全局變量是全局可見的, Java不支持全局可見的變量,因為:全局變量破壞了引用透明性原則。全局變量導(dǎo)致了命名空間的沖突。21:如何將String類型轉(zhuǎn)化成Number類型?答案:Integer類的valueOf方法可以將String轉(zhuǎn)成Number。下面是代碼示例:StringnumString=“1000″;intid=Integer.valueOf(numString).intValue();22:SimpleTimeZone類是什么
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 東北出售農(nóng)房合同范例
- 公路設(shè)備租賃合同范例
- 人工勞務(wù)合同范本txt
- ppp項目承繼合同范例
- 傳媒公司投資合同范例
- 出租建筑用地合同范例
- 公司創(chuàng)業(yè)合同范例
- 與簽約合同范例
- 內(nèi)部財務(wù)審計服務(wù)合同范例
- 《電子產(chǎn)品綜合設(shè)計與制作》 課件 3.3可燃氣體檢測模塊電路的功能驗證
- 壓鑄常見不良改善方法
- 山東省濟寧市2023年中考數(shù)學(xué)試卷(附答案)
- 美國人工智能權(quán)利法案藍圖(英文)
- 2023屆江蘇省蘇州市立達中學(xué)八年級數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含解析
- 2023年自考人力資源開發(fā)與管理
- 剪映短視頻剪輯入門教程
- 遺傳與生活智慧樹知到答案章節(jié)測試2023年哈爾濱師范大學(xué)
- 《小學(xué)信息技術(shù)》完整版教學(xué)課件PPT
- 市政基礎(chǔ)設(shè)施綠化工程移交書
- 學(xué)校管理學(xué)導(dǎo)論
- 2023年曾奇峰精分筆記
評論
0/150
提交評論