黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 2019 最新Java常見面試題(附帶答案)

2019 最新Java常見面試題(附帶答案)

更新時間:2019-04-09 08:56:17 來源:動力節(jié)點 瀏覽7215次

想讓面試官在短短的幾十分鐘內(nèi)認可你的能力?想在最短的時間內(nèi)收獲Java技術(shù)棧最核心的知識點?想要更全面更深入的了解Java技術(shù)?這篇Java常見面試題文章給你想要的所有答案。

2019 最新Java常見面試題(附帶答案).jpg

1.集合的作用是什么?

數(shù)據(jù)的傳送增、刪、改、查、constainsAll,可以存放不同類型的對象。

2.集合的通用方法有那些?通用方法是什么?(操作)

集合List的遍歷方法有:

  • Iterator:
  • Enumeration
  • For
  • Get
  • set

Collection的通用方法有:

  • Iterator()
  • Add()
  • Clear();
  • remove()

3.說出ArrayList,Vector,LinkedList的存儲性能和特性HashMap和Hashtable的區(qū)別

  • ArrayListVector:以數(shù)組的方式存儲,增、刪慢,查、改快
  • ArrayList:線程不安全,速度快
  • ArrayList:線程安全,速度慢(synchoronized)
  • LikedList:以單鏈表的方式存儲,增、刪快,查、改慢

HashMap與Hashtable都實現(xiàn)的Map接口,HashTable線程安全,HashMap線程不安全。

4.Collection和Collections的區(qū)別。

Collection是集合的根接口,其下有set及l(fā)ist

Collections是集合的算法。

5.Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?是用==還是equals()?它們有何區(qū)別?用contains來區(qū)分是否有重復(fù)的對象,還是都不用。

在比較時先調(diào)用hashCode方法,如果不相同,證明不相等。

如果相同,再調(diào)用equals方法,如果equals方法相同,證明相等,不相同,證明不相等。

==:主要用在基本數(shù)據(jù)類型及引用

Equals:主要是對象或?qū)ο笠玫谋容^。

集合中是否包含某一個元素用contains來判斷。

6.List,Set,Map是否繼承自Collection接口?

List,set繼承于Collection

Map沒有繼承于Collection,其相對是獨立的。

屬于Collection類型的對象,可以通過構(gòu)造函數(shù)將一個集合構(gòu)造成另外一個集合。

7.面向?qū)ο蟮奶卣饔心男┓矫?

  • 抽象:找共性,將共有的屬性、方法放到父類中
  • 繼承:子類繼承于父類,具有父類的所有屬性與方法,可以重用,也可以覆蓋。
  • 封裝:一個類包括多個屬性及方法。
  • 多態(tài)性:動態(tài):靜態(tài):

8.String是最基本的數(shù)據(jù)類型嗎?

基本數(shù)據(jù)類型包括byte、int、char、long、float、double、boolean和short。

java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類。為了提高效率節(jié)省空間,我們應(yīng)該用StringBuffer類

9.int和Integer有什么區(qū)別?

Int是基本數(shù)據(jù)類型,不是對象,占一個內(nèi)存空間,沒有方法。與其同類的有l(wèi)ong,char,doble

Integer是封裝類,具有方法及屬性。與其同類的有Long,Double.Float

10.運行時異常與一般異常有何異同?

運行時異常:javaJVM拋出的異常,代碼中不用處理。

一般異常:用戶拋出的異常,如果用throws聲明了,調(diào)用這個方法的代碼必須對其處理。

11.&和&&的區(qū)別?

&:與:左邊若為false右邊還執(zhí)行。

&&:短路與,左邊若為false右邊不執(zhí)行。

12.final,finally,finalize的區(qū)別?

final用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。

finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。

finalize是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,

可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關(guān)閉文件等。

算符可以用來決定某對象的類是否實現(xiàn)了接口。

13.heap和stack有什么區(qū)別?

棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進先出的方式進行處理。

堆是棧的一個組成元素

14.StaticNestedClass和InnerClass的不同?

StaticNestedClass是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實例被實例化。而通常的內(nèi)部類需要在外部類實例化后才能實例化。

15.什么時候用assert?

assertion(斷言)在軟件開發(fā)中是一種常用的調(diào)試方式,很多開發(fā)語言中都支持這種機制。在實現(xiàn)中,assertion就是在程序中的一條語句,它對一個boolean表達式進行檢查,一個正確程序必須保證這個boolean表達式的值為true;如果該值為false,說明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。一般來說,assertion用于保證程序最基本、關(guān)鍵的正確性。assertion檢查通常在開發(fā)和測試時開啟。為了提高性能,在軟件發(fā)布后,assertion檢查通常是關(guān)閉的。

16.GC是什么?為什么要有GC?

GC是垃圾收集的意思(GabageCollection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯誤的內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達到自動回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。

17.shorts1=1;s1=s1+1;有什么錯?shorts1=1;s1+=1;有什么錯?

shorts1=1;s1=s1+1;(s1+1運算結(jié)果是int型,需要強制轉(zhuǎn)換類型)shorts1=1;s1+=1;(可以正確編譯)

18.Math.round(11.5)等於多少?Math.round(-11.5)等於多少?

Math.round(11.5)==12Math.round(-11.5)==-11round方法返回與參數(shù)最接近的長整數(shù),參數(shù)加1/2后求其floor.

19.Java有沒有g(shù)oto?

java中的保留字,現(xiàn)在沒有在java中使用。

20.給我一個你最常見到的runtimeexception

ArithmeticException,ArrayStoreException,BufferOverflowException,

BufferUnderflowException,CannotRedoException,CannotUndoException,

ClassCastException,CMMException,ConcurrentModificationException,DOMException,

EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,

IllegalPathStateException,IllegalStateException,ImagingOpException,

IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,

NoSuchElementException,NullPointerException,ProfileDataException,

ProviderException,RasterFormatException,SecurityException,SystemException,

UndeclaredThrowableException,UnmodifiableSetException,

UnsupportedOperationException

一般異常:

IOException

FileNotFoundException

SqlException

21.接口是否可繼承接口?抽象類是否可實現(xiàn)(implements)接口?抽象類是否可繼承實體類(concreteclass)?

接口可以繼承接口。抽象類可以實現(xiàn)(implements)接口,抽象類是否可繼承實體類。

22.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?

都不能

23.數(shù)組有沒有l(wèi)ength()這個方法?String有沒有l(wèi)ength()這個方法?

數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength這個屬性

String有l(wèi)ength()這個方法.

24.構(gòu)造器Constructor是否可被override?

構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

25.是否可以繼承String類?

String類是final類故不可以繼承。

26.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一個整數(shù)表達式。因此傳遞給switch和case語句的參數(shù)應(yīng)

該是int、short、char或者byte。long,string都不能作用于swtich。

27.try{}里有一個return語句,那么緊跟在這個try后的finally{}里的code會不會被執(zhí)行,什么時候被執(zhí)行,在return前還是后?

會執(zhí)行,在return前執(zhí)行。

28.兩個對象值相同(x.equals(y)==true),但卻可有不同的hashcode,這句話對不對?

對,有相同的hashcode。

29.當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?

是引用傳遞

基本數(shù)據(jù)類型:值

對象:引用

30.編程題:寫一個Singleton出來。

Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實例存在。

一般Singleton模式通常有幾種種形式:

第一種形式:定義一個類,它的構(gòu)造函數(shù)為private的,它有一個static的private的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。

publicclassSingleton{
privateSingleton(){}
//在自己內(nèi)部定義自己一個實例,是不是很奇怪?
//注意這是private只供內(nèi)部調(diào)用
privatestaticSingletoninstance=newSingleton();
//這里提供了一個供外部訪問本class的靜態(tài)方法,可以直接訪問
publicstaticSingletongetInstance(){
returninstance;
}
}

第二種形式:

publicclassSingleton{
privatestaticSingletoninstance=null;
publicstaticsynchronizedSingletongetInstance(){
//這個方法比上面有所改進,不用每次都進行生成對象,只是第一次
//使用時生成實例,提高了效率!
if(instance==null)
instance=newSingleton();
returninstance;}
}

其他形式:

定義一個類,它的構(gòu)造函數(shù)為private的,所有方法為static的。

一般認為第一種形式要更加安全些

30.Java中的異常處理機制的簡單原理和應(yīng)用。

  • 原理:有錯直接轉(zhuǎn)到異常處理部分或向上拋出。
  • 應(yīng)用:Java的異常就是錯誤,有兩種一種是運行時,編碼可以不用捕捉。一種是一般異常,如果throws聲明了,必須進行處理。

31.垃圾回收的優(yōu)點和原理。并考慮2種回收機制。

優(yōu)點:程序員不用管內(nèi)存,jvm自動完成,開發(fā)方便。運行優(yōu)先非常低,程序無法清楚實例什么時候被消毀。

32.描述一下JVM加載class文件的原理機制?

JVM中類的裝載是由ClassLoader和它的子類來實現(xiàn)的,JavaClassLoader是一個重要的Java運行時系統(tǒng)組件。它負責(zé)在運行時查找和裝入類文件的類。

34.char型變量中能不能存貯一個中文漢字?為什么?

能夠定義成為一個中文的,因為java中以unicode編碼,一個char占16個字節(jié),所以放一個中文是沒問題的

相關(guān)Java面試題推薦

最新最全Java面試題及答案(從初級到高級)

2019最新java面試題含答案(基礎(chǔ)篇)

常被問到的Java面試題(帶全部答案)

2019最新今日頭條java面試題

2019史上最全java面試題題庫大全800題

幾個最難的資深Java面試題

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 91看片淫黄大片在看 | 1区1区3区4区产品亚洲 | 毛片在线免费视频 | 国产高清在线视频一区二区三区 | 女攻男受高h重口调教 | 日韩欧美在线中文字幕 | 久免费视频 | 国产精品乱 | www.天天射| 中中文字幕亚州无线码 | 午夜高清在线 | 邪恶亚洲 | 亚欧毛片基地国产毛片基地 | 草草在线免费视频 | free性欧美hd粗暴 | 国产 欧美 日韩 在线 | 俄罗斯一级毛片免费播放 | 欧美乱爱 | 久久精品中文字幕第一页 | 精品久草 | 天天cao在线| 日本中文字幕二区三区 | 日本一区二区不卡视频 | 日韩欧美一区二区三区 | 久久不卡免费视频 | avtt天堂网手机版亚洲 | 9久热这里只有精品视频在线观看 | 久久精品国产一区二区三区不卡 | 操干视频| 妞干网视频在线观看 | 一级毛片私人影院 | 高清日韩 | 91成年人视频 | 最近中文字幕在线观看 | 国产中文一区 | 日本不卡视频一区二区三区 | 欧美性xxx18一20 | 日本大学生xxxx视频 | 甜性涩爱手机在线观看 | 国产黄色免费看 | 波多野结衣手机在线视频 |