特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學習啦 > 創(chuàng)業(yè)指南 > 職場 > 面試題 >

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

時間: 澤凡0 分享

Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。這里小編給大家分享一些關(guān)于經(jīng)典Java基礎(chǔ)面試題,方便大家學習了解。

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

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

1、如果main方法被聲明為private會怎樣?

能正常編譯,但運行的時候會提示”main方法不是public的”。

2、Java里的傳引用和傳值的區(qū)別是什么?

傳引用是指傳遞的是地址而不是值本身,傳值則是傳遞值的一份拷貝。

3、如果要重寫一個對象的equals方法,還要考慮什么?

hashCode。

4、Java的”一次編寫,處處運行”是如何實現(xiàn)的?

Java程序會被編譯成字節(jié)碼組成的class文件,這些字節(jié)碼可以運行在任何平臺,因此Java是平立的。

5、說明一下public static void main(String args[])這段聲明里每個關(guān)鍵字的作用。

public: main方法是Java程序運行時調(diào)用的第一個方法,因此它必須對Java環(huán)境可見。所以可見性設(shè)置為pulic.

static: Java平臺調(diào)用這個方法時不會創(chuàng)建這個類的一個實例,因此這個方法必須聲明為static。

void: main方法沒有返回值。

String是命令行傳進參數(shù)的類型,args是指命令行傳進的字符串數(shù)組。

6、==與equals的區(qū)別

==比較兩個對象在內(nèi)存里是不是同一個對象,就是說在內(nèi)存里的存儲位置一致。兩個String對象存儲的值是一樣的,但有可能在內(nèi)存里存儲在不同的地方。

==比較的是引用而equals方法比較的是內(nèi)容。public boolean equals(Object obj) 這個方法是由Object對象提供的,可以由子類進行重寫。默認的實現(xiàn)只有當對象和自身進行比較時才會返回true,這個時候和==是等價的。String, BitSet, Date, 和File都對equals方法進行了重寫,對兩個String對象 而言,值相等意味著它們包含同樣的字符序列。對于基本類型的包裝類來說,值相等意味著對應的基本類型的值一樣。

7、如果去掉了main方法的static修飾符會怎樣?

程序能正常編譯。運行時會拋NoSuchMethodError異常。

8、為什么oracle type4驅(qū)動被稱作瘦驅(qū)動?

oracle提供了一個type 4 JDBC驅(qū)動,被稱為瘦驅(qū)動。這個驅(qū)動包含了一個oracle自己完全用Java實現(xiàn)的一個TCP/IP的Net8的實現(xiàn),因此它是平立的,可以在運行時由瀏覽器下載,不依賴任何客戶端 的oracle實現(xiàn)。客戶端連接字符串用的是TCP/IP的地址端口,而不是數(shù)據(jù)庫名的tnsname。

9、介紹一下finalize方法

final: 常量聲明。 finally: 處理異常。 finalize: 幫助進行垃圾回收。

接口里聲明的變量默認是final的。final類無法繼承,也就是沒有子類。這么做是出于基礎(chǔ)類型的安全考慮,比如String和Integer。這樣也使得編譯器進行一些優(yōu)化,更容易保證線程的安全性。final方法無法重寫。final變量的值不能改變。finalize方法在一個對象被銷毀和回收前會被調(diào)用。finally,通常用于異常處理,不管有沒有異常被拋出都會執(zhí)行到。比如,關(guān)閉連接通常放到finally塊中完成。

10、什么是Java API?

Java API是大量軟件組件的集合,它們提供了大量有用的功能,比如GUI組件。

11、GregorianCalendar類是什么東西?

GregorianCalendar提供了西方傳統(tǒng)日歷的支持。

12、ResourceBundle類是什么?

ResourceBundle用來存儲指定語言環(huán)境的資源,應用程序可以根據(jù)運行時的語言環(huán)境來加載這些資源,從而提供不同語言的展示。

13、為什么Java里沒有全局變量?

全局變量是全局可見的,Java不支持全局可見的變量,因為:全局變量破壞了引用透明性原則。全局變量導致了命名空間的沖突。

14、如何將String類型轉(zhuǎn)化成Number類型?

Integer類的valueOf方法可以將String轉(zhuǎn)成Number。

15、SimpleTimeZone類是什么?

SimpleTimeZone提供公歷日期支持。

16、while循環(huán)和do循環(huán)有什么不同?

while結(jié)構(gòu)在循環(huán)的開始判斷下一個迭代是否應該繼續(xù)。do/while結(jié)構(gòu)在循環(huán)的結(jié)尾來判斷是否將繼續(xù)下一輪迭代。do結(jié)構(gòu)至少會執(zhí)行一次循環(huán)體。

17、Locale類是什么?

Locale類用來根據(jù)語言環(huán)境來動態(tài)調(diào)整程序的輸出。

18、面向?qū)ο缶幊痰脑瓌t是什么?

主要有三點,多態(tài),繼承和封裝。

19、介紹下繼承的原則

繼承使得一個對象可以獲取另一個對象的`屬性。使用繼承可以讓已經(jīng)測試完備的功能得以復用,并且可以一次修改,所有繼承的地方都同時生效。

20、什么是隱式的類型轉(zhuǎn)化?

隱式的類型轉(zhuǎn)化就是簡單的一個類型賦值給另一個類型,沒有顯式的告訴編譯器發(fā)生了轉(zhuǎn)化。并不是所有的類型都支持隱式的類型轉(zhuǎn)化。

21、sizeof是Java的關(guān)鍵字嗎?

不是。

22、native方法是什么?

native方法是非Java代碼實現(xiàn)的方法。

23、在System.out.println里面,System, out, println分別是什么?

System是系統(tǒng)提供的預定義的final類,out是一個PrintStream對象,println是out對象里面一個重載的方法。

24、封裝,繼承和多態(tài)是什么?

簡單來說,多態(tài)是指一個名字多種實現(xiàn)。多態(tài)使得一個實體通過一個通用的方式來實現(xiàn)不同的操作。具體的操作是由實際的實現(xiàn)來決定的。

多態(tài)在Java里有三種表現(xiàn)方式:方法重載通過繼承實現(xiàn)方法重寫通過Java接口進行方法重寫。

25、顯式的類型轉(zhuǎn)化是什么?

顯式的類型轉(zhuǎn)化是明確告訴了編譯器來進行對象的轉(zhuǎn)化。

26、什么是Java虛擬機?

Java虛擬機是能移植到不同硬件平臺上的軟件系統(tǒng)。

27、類型向下轉(zhuǎn)換是什么?

向下轉(zhuǎn)換是指由一個通用類型轉(zhuǎn)換成一個具體的類型,在繼承結(jié)構(gòu)上向下進行。

28、Java的訪問修飾符是什么?

訪問權(quán)限修飾符是表明類成員的訪問權(quán)限類型的關(guān)鍵字。使用這些關(guān)鍵字來限定程序的方法或者變量的訪問權(quán)限。它們包含:

public: 所有類都可以訪問 protected: 同一個包內(nèi)以及所有子類都可以訪問 private: 只有歸屬的類才能訪問默認: 歸屬類及相同包下的子類可以訪問。

29、所有類的父類是什么?

Object.

30、Java的基本類型有哪些?

byte,char, short, int, long, float, double, boolean。

經(jīng)典Java面試題

第一,談?wù)刦inal, finally, finalize的區(qū)別。

final?修飾符(關(guān)鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載

finally?再異常處理時提供 finally 塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執(zhí)行,然后控制就會進入 finally 塊(如果有的話)。

finalize?方法名。Java 技術(shù)允許使用 finalize 方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調(diào)用的。它是在 Object類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize 方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize 方法是在垃圾收集器刪除對象之前對這個對象調(diào)用的。

第二,HashMap和Hashtable的區(qū)別。

都屬于Map接口的類,實現(xiàn)了將惟一鍵映射到特定的值上。

HashMap 類沒有分類或者排序。它允許一個 null 鍵和多個 null 值。

Hashtable 類似于 HashMap,但是不允許 null 鍵和 null 值。它也比 HashMap 慢,因為它是同步的。

第三,String s = new String("xyz");創(chuàng)建了幾個String Object?

兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。

第四,sleep 和 wait 有什么區(qū)別? 搞線程的最愛

sleep方法是使線程停止一段時間的方法。在sleep 時間間隔期滿后,線程不一定立即恢復執(zhí)行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調(diào)度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級

(b)正在運行的線程因為其它原因而阻塞。

wait是線程交互時,如果線程對一個同步對象x 發(fā)出一個wait調(diào)用,該線程會暫停執(zhí)行,被調(diào)對象進入等待狀態(tài),直到被喚醒或等待時間到。

第五,short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?

short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉(zhuǎn)化為short型??尚薷臑閟1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。

第六,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

第七,Set里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用==還是equals? 它們有何區(qū)別?

Set里的元素是不能重復的,那么用iterator方法來區(qū)分重復與否。equals是判讀兩個Set是否相等。

equals和==方法決定引用值是否指向同一對象equals在類中被覆蓋,為的是當兩個分離的對象的內(nèi)容和類型相配的話,返回真值。

第八,error和exception有什么區(qū)別?

error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。

exception 表示一種設(shè)計或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運行正常,從不會發(fā)生的情況。

第九,給我一個你最常見到的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

第十,Set里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用==還是equals? 它們有何區(qū)別?

Set里的元素是不能重復的,那么用iterator方法來區(qū)分重復與否。equals是判讀兩個Set是否相等。

equals和==方法決定引用值是否指向同一對象equals在類中被覆蓋,為的是當兩個分離的對象的內(nèi)容和類型相配的話,返回真值。

java面試題目大全

java面試題目1

1.談?wù)剬ML的理解?說明Web應用中Web.xml文件的作用?

解答:XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言)。Xml是Internet環(huán)境中跨平臺的,依賴于內(nèi)容的技術(shù),是當前處理結(jié)構(gòu)化文檔信息的有力工具。擴展標記語言XML是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標記描述數(shù)據(jù),而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數(shù)據(jù)要占用更多的空間,但XML極其簡單易于掌握和使用。

web.xml的作用是配置歡迎頁,servlet,filter,listener等的。

2.jsp有哪些內(nèi)置對象?作用分別是什么?(至少三個)

解答:

1)request表示HttpServletRequest對象。它包含了有關(guān)瀏覽器請求的信息,并且提供了幾個用于獲取cookie, header和session數(shù)據(jù)的有用的方法。

2)response表示HttpServletResponse對象,并提供了幾個用于設(shè)置送回 瀏覽器的響應的方法(如cookies,頭信息等)。

3)out對象是javax.jsp.JspWriter的一個實例,并提供了幾個方法使你能用于向瀏覽器回送輸出結(jié)果。

4)pageContext表示一個javax.servlet.jsp.PageContext對象。它是用于方便存取各種范圍的名字空間、servlet相關(guān)的對象的API,并且包裝了通用的servlet相關(guān)功能的方法。

5)session表示一個請求的javax.servlet.http.HttpSession對象。Session可以存貯用戶的狀態(tài)信息。

6)application 表示一個javax.servle.ServletContext對象。這有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息。

7)config表示一個javax.servlet.ServletConfig對象。該對象用于存取servlet實例的初始化參數(shù)。

8)page表示從該頁面產(chǎn)生的一個servlet實例。

9)exception 針對錯誤網(wǎng)頁,未捕捉的例外

3.事務(wù)是什么?有哪些屬性,并簡要說明這些屬性的含義。

解答:事務(wù)(Transaction)是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit)。

事務(wù)通常由高級數(shù)據(jù)庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執(zhí)行所引起,并用形如begin transaction和end transaction語句(或函數(shù)調(diào)用)來界定。事務(wù)由事務(wù)開始(begin transaction)和事務(wù)結(jié)束(end transaction)之間執(zhí)行的全體操作組成。

事務(wù)應該具有4個屬性:原子性、一致性、隔離性、持續(xù)性。這四個屬性通常稱為ACID特性。

原子性(atomicity)。一個事務(wù)是一個不可分割的工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。

一致性(consistency)。事務(wù)必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。一致性與原子性是密切相關(guān)的。

隔離性(isolation)。一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。

持久性(durability)。持續(xù)性也稱永久性(permanence),指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。

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

解答:Collection是java.util下的接口,它是各種集合的父接口,繼承于它的接口主要有Set 和List;Collections是個java.util下的類,是針對集合的幫助類,提供一系列靜態(tài)方法實現(xiàn)對各種集合的搜索、排序、線程安全化等操作。

5、HashMap與TreeMap的區(qū)別?

解答:HashMap通過hashcode對其內(nèi)容進行快速查找,而TreeMap中所有的元素都保持著某種固定的順序,如果你需要得到一個有序的結(jié)果你就應該使用TreeMap(HashMap中元素的排列順序是不固定的)。

6、ArrayList和Vector的區(qū)別?

解答:同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程不安全的,不是同步的;數(shù)據(jù)增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半。

1828268