一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

java語(yǔ)言

Java面試題

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

Java面試題(精選)

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

Java面試題(精選)

  1、Collection 和 Collections的區別?

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

  Collections是集合的算法。

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

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

  如果相同,再調用equals方法,如果equals方法相同,證明相等,不相同,證明不相等。

  ==:主要用在基本數據類(lèi)型及引用

  equals:主要是對象或對象引用的比較。

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

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

  List,set繼承于Collection

  Map沒(méi)有繼承于Collection,其相對是獨立的。

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

  4、面向對象的特征有哪些方面?

  1.抽象:

  找共性,將共有的屬性、方法放到父類(lèi)中

  2.繼承:

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

  3.封裝:

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

  4. 多態(tài)性:

  5、String是最基本的數據類(lèi)型嗎?

  基本數據類(lèi)型包括byte、int、char、long、float、double、boolean和short。

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

  6、int 和 Integer 有什么區別?

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

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

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

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

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

  8、&和&&的區別?

  &:與: 左邊若為false右邊還執行。

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

  9、final, finally, finalize的區別?

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

  finally是異常處理語(yǔ)句結構的一部分,表示總是執行。

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

  10、heap和stack有什么區別?

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

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

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

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

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

  13、short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?

  short s1 = 1; s1 = s1 + 1; (s1+1運算結果是int型,需要強制轉換類(lèi)型)

  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方法返回與參數最接近的長(cháng)整數,參數加1/2后求其floor.

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

  java中的保留字,現在沒(méi)有在java中使用。

  16、給出一個(gè)你最常見(jiàn)到的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、數組有沒(méi)有length()這個(gè)方法? String有沒(méi)有length()這個(gè)方法?

  數組沒(méi)有length()這個(gè)方法,有length這個(gè)屬性

  String有length()這個(gè)方法.

  18、構造器Constructor是否可被override?

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

  19、是否可以繼承String類(lèi)?

  String類(lèi)是final類(lèi)故不可以繼承。

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

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

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

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

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

  不對,有相同的 hash code

  這是java語(yǔ)言的定義:

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

  2) hashCode相等對象未必相等

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

  Cookie

  Session

  Hidden

  url 重寫(xiě)

  24、寫(xiě)一個(gè)Singleton出來(lái)。

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

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

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

  public class Singleton {

  private Singleton(){}

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

  //注意這是private 只供內部調用

  private static Singleton instance = new Singleton();

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

  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è)類(lèi),它的構造函數為private的,所有方法為static的。

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

  25、Java中的異常處理機制的簡(jiǎn)單原理和應用。

  原理: 有錯直接轉到異常處理部分或向上拋出。

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

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

  JVM中類(lèi)的裝載是由ClassLoader和它的子類(lèi)來(lái)實(shí)現的,Java ClassLoader 是一個(gè)重要的Java運行時(shí)系統組件。它負責在運行時(shí)查找和裝入類(lèi)文件的類(lèi)。

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

java面試題05-20

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

Java線(xiàn)程面試題05-23

Java原理面試題07-13

高級Java面試題精選06-02

Java 問(wèn)答面試題04-21

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

Java基礎面試題集錦04-17

java編程筆試面試題05-30

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看