av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語言

Java面試題

時(shí)間:2025-01-28 13:15:05 java語言 我要投稿

Java面試題(精選)

  引導(dǎo)語:面試Java崗位,就要做好充分的應(yīng)試準(zhǔn)備,以下是小編整理的Java面試題(精選),歡迎參考閱讀!

Java面試題(精選)

  1、Collection 和 Collections的區(qū)別?

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

  Collections是集合的算法。

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

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

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

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

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

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

  3、List, Set, Map是否繼承自Collection接口?

  List,set繼承于Collection

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

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

  4、面向?qū)ο蟮奶卣饔心男┓矫妫?/strong>

  1.抽象:

  找共性,將共有的屬性、方法放到父類中

  2.繼承:

  子類繼承于父類,具有父類的所有屬性與方法,可以重用,也可以覆蓋。

  3.封裝:

  一個(gè)類包括多個(gè)屬性及方法。

  4. 多態(tài)性:

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

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

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

  6、int 和 Integer 有什么區(qū)別?

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

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

  7、運(yùn)行時(shí)異常與一般異常有何異同?

  運(yùn)行時(shí)異常:JVM拋出的異常,代碼中不用處理。

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

  8、&和&&的區(qū)別?

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

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

  9、final, finally, finalize的區(qū)別?

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

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

  finalize是Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。

  10、heap和stack有什么區(qū)別?

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

  11、Static Nested Class 和 Inner Class的不同?

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

  12、GC是什么? 為什么要有GC?

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

  13、short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?

  short s1 = 1; s1 = s1 + 1; (s1+1運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類型)

  short s1 = 1; s1 += 1;(可以正確編譯)

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

  Math.round(11.5)==12

  Math.round(-11.5)==-11

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

  15、Java有沒有g(shù)oto?

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

  16、給出一個(gè)你最常見到的runtime exception

  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

  17、數(shù)組有沒有l(wèi)ength()這個(gè)方法? String有沒有l(wèi)ength()這個(gè)方法?

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

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

  18、構(gòu)造器Constructor是否可被override?

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

  19、是否可以繼承String類?

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

  20、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

  switch(expr1)中,expr1是一個(gè)整數(shù)表達(dá)式。因此傳遞給 switch 和 case 語句的參數(shù)應(yīng)該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

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

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

  22、兩個(gè)對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?

  不對,有相同的 hash code

  這是java語言的定義:

  1) 對象相等則hashCode一定相等;

  2) hashCode相等對象未必相等

  23、四種會(huì)話跟蹤技術(shù)?

  Cookie

  Session

  Hidden

  url 重寫

  24、寫一個(gè)Singleton出來。

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

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

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

  public class Singleton {

  private Singleton(){}

  //在自己內(nèi)部定義自己一個(gè)實(shí)例,是不是很奇怪?

  //注意這是private 只供內(nèi)部調(diào)用

  private static Singleton instance = new Singleton();

  //這里提供了一個(gè)供外部訪問本class的靜態(tài)方法,可以直接訪問

  public static Singleton getInstance() {

  return instance;

  }

  }

  第二種形式:

  public class Singleton {

  private static Singleton instance = null;

  public static synchronized Singleton getInstance() {

  //這個(gè)方法比上面有所改進(jìn),不用每次都進(jìn)行生成對象,只是第一次

  //使用時(shí)生成實(shí)例,提高了效率!

  if (instance==null)

  instance=new Singleton();

  return instance; }

  }

  其他形式:

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

  一般認(rèn)為第一種形式要更加安全些

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

  原理: 有錯(cuò)直接轉(zhuǎn)到異常處理部分或向上拋出。

  應(yīng)用:JAVA的異常就是錯(cuò)誤,有兩種,一種是運(yùn)行時(shí),編碼可以不用捕捉。一種是一般異常,如果throws聲明了,必須進(jìn)行處理。

  26、描述一下JVM加載class文件的原理機(jī)制?

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

【Java面試題】相關(guān)文章:

java面試題05-20

經(jīng)典Java基礎(chǔ)面試題08-13

Java線程面試題05-23

Java原理面試題07-13

高級Java面試題精選06-02

Java 問答面試題04-21

Java開發(fā)崗位面試題06-17

Java基礎(chǔ)面試題集錦04-17

java編程筆試面試題05-30