- 相關(guān)推薦
Java認(rèn)證面試試題及答案
面試是java認(rèn)證考試環(huán)節(jié)之一,那么java面試有哪些經(jīng)典試題呢?下面yjbys小編為大家分享最新java面試經(jīng)典試題及答案,僅供考生參考!
1. Java中的異常處理機(jī)制的簡單和應(yīng)用
當(dāng)Java程序違反了Java的語義規(guī)則時(shí),Java虛擬機(jī)就會將發(fā)生的錯(cuò)誤表示為一個(gè)異常。違反語義規(guī)則包括2種情況。
一種是Java類庫內(nèi)置的語義。例如數(shù)組下標(biāo)越界,會引發(fā)IndexOutOfBoundsException;訪問null的對象時(shí)會引發(fā)NullPointerException。
另一種情況就是Java允許程序員擴(kuò)展這種語義檢查
程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用throw關(guān)鍵字引發(fā)異常。所有的異常都是 java.lang.Thowable的子類。
2.Java的接口和C++的虛類的相同和不同處
由于Java不支持多繼承,而有可能某個(gè)類或?qū)ο笠褂梅謩e在幾個(gè)類或?qū)ο罄锩娴姆椒ɑ驅(qū)傩,現(xiàn)有的單繼承機(jī)制就不能滿足要求。
與繼承相比,接口有更高的靈活性,因?yàn)榻涌谥袥]有任何實(shí)現(xiàn)代碼。當(dāng)一個(gè)類實(shí)現(xiàn)了接口以后,該類要實(shí)現(xiàn)接口里面所有的方法和屬性,接口里面的屬性在默認(rèn)狀態(tài)下面都是 public static,所有方法默認(rèn)情況下是public.一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。
3.垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制
Java語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c++程序員最頭疼的內(nèi)存的問題迎刃而解,它使得Java程序員在編寫程序的時(shí)候不再需要考慮內(nèi)存管理。
由于有個(gè)垃圾回收機(jī)制,Java中的對象不再有“作用域”的概念,只有對象的引用才有“作用域”。垃圾回收可以有效的防止內(nèi)存泄露,有效的使用可以使用的內(nèi)存。
垃圾回收器通常是作為一個(gè)單獨(dú)的低級別的線程運(yùn)行,不可預(yù)知的情況下對內(nèi)存堆中已經(jīng)死亡的或者長時(shí)間沒有使用的對象進(jìn)行清除和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對某個(gè)對象或所有對象進(jìn)行垃圾回收;厥諜C(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。
4.線程同步的方法
wait():使一個(gè)線程處于等待狀態(tài),并且釋放所持有的對象的lock。
sleep():使一個(gè)正在運(yùn)行的線程處于睡眠狀態(tài),是一個(gè)靜態(tài)方法,調(diào)用此方法要捕捉InterruptedException異常。
notify():喚醒一個(gè)處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時(shí)候,并不能確切地喚醒某一個(gè)等待狀態(tài)的線程,而是由JVM確定喚醒哪個(gè)線程,而且不是按優(yōu)先級。
Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個(gè)對象的鎖,而是讓它們競爭。
5.Error與Exception有什么區(qū)別
Error表示系統(tǒng)級的錯(cuò)誤和程序不必處理的異常,
Exception表示需要捕捉或者需要程序進(jìn)行處理的異常。
6.在java中一個(gè)類被聲明為final類型,表示了什么意思
表示該類不能被繼承,是頂級類。
7.heap和stack有什么區(qū)別
棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。
棧按照后進(jìn)先出的方式進(jìn)行處理。堆是棧的一個(gè)組成元素。
【Java認(rèn)證面試試題及答案】相關(guān)文章:
java認(rèn)證考試試題及答案07-21
2017年JAVA認(rèn)證面試試題10-07
java面試題及答案11-01
linux認(rèn)證的面試題及答案10-18