JAVA基礎(chǔ)面試題的示例分析

這篇文章給大家分享的是有關(guān)JAVA基礎(chǔ)面試題的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

為巴林左旗等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及巴林左旗網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、成都做網(wǎng)站、巴林左旗網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

1.Java中final、finally、finalize的區(qū)別

簡單區(qū)別:

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

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

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

2.error和exception有什么區(qū)別?

Error(錯誤)表示系統(tǒng)級的錯誤和程序不必處理的異常,是java運行環(huán)境中的內(nèi)部錯誤或者硬件問題。比如:內(nèi)存資源不足等。對于這種錯誤,程序基本無能為力,除了退出運行外別無選擇,它是由Java虛擬機拋出的。

Exception(違例)表示需要捕捉或者需要程序進行處理的異常,它處理的是因為程序設(shè)計的瑕疵而引起的問題或者在外的輸入等引起的一般性問題,是程序必須處理的。

Exception又分為運行時異常,受檢查異常。

運行時異常,表示無法讓程序恢復(fù)的異常,導(dǎo)致的原因通常是因為執(zhí)行了錯誤的操作,建議終止程序,因此,編譯器不檢查這些異常。

受檢查異常,是表示程序可以處理的異常,也即表示程序可以修復(fù)(由程序自己接受異常并且做出處理), 所以稱之為受檢查異常。

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

1、什么是Set?(what)

Set是Collection容器的一個子接口,它不允許出現(xiàn)重復(fù)元素,當(dāng)然也只允許有一個null對象。

2、如何來區(qū)分重復(fù)與否呢?(how)

“ 用 iterator() 方法來區(qū)分重復(fù)與否 ”,這是在網(wǎng)上流傳的答案,個人認(rèn)為這是個錯誤的答案。JPI中寫的很明白:“set 不包含滿足

e1.equals(e2) 的元素對 e1 和 e2 ”,由此可見回答使用equals()區(qū)分更合適。

3、為什么用equals()而不用==來區(qū)分?(why)

應(yīng)該從它倆的區(qū)別談起,==是用來判斷兩者是否是同一對象(同一事物),而equals是用來判斷是否引用同一個對象。再看一下Set里面存的是對象,還是對象的引用。根據(jù)Java的存儲機制可知,set里面存放的是對象的引用,所以當(dāng)兩個元素只要滿足了equals()時就已經(jīng)指向同一個對象,也就出現(xiàn)了重復(fù)元素。所以應(yīng)該用equals()來判斷。

Static Nested Class (靜態(tài)嵌套類)是Inner Class(內(nèi)部類)的一種,

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

Overload和Override的區(qū)別?

Override是重寫:方法名稱、參數(shù)個數(shù),類型,順序,返回值類型都是必須和父類方法一致的。它的關(guān)系是父子關(guān)系
Overload是重載:方法名稱不變,其余的都是可以變更的。它的關(guān)系是同一個類,同一個方法名,不同的方法參數(shù)或返回值。

備注:它們都是是Java多態(tài)性的不同表現(xiàn)

構(gòu)造器constructor是否可被override

1.Constructor不能被繼承,所以Constructor也就不能被override,但是可以overload,所以你可以看到有多個構(gòu)造函數(shù)這種情況。

2.不可以 ,每一個類必須有自己的構(gòu)造函數(shù),負(fù)責(zé)構(gòu)造自己這部分的構(gòu)造

子類不會覆蓋父類的構(gòu)造函數(shù),相反必須負(fù)責(zé)在一開始調(diào)用父類的構(gòu)造函數(shù)

List、Map、Set三個接口,存取元素時,各有什么特點?

List 以特定次序來持有元素,可有重復(fù)元素。即,有序可重復(fù)。

Set 無法擁有重復(fù)元素,內(nèi)部排序。即,無序不可重復(fù)。

Map 保存 key-value 值,value可多值。一一映射。

Hashtable和HashMap的區(qū)別:

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

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

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

jsp中動態(tài)include與靜態(tài)include

動態(tài)INCLUDE在使用的時候,會先解析所要包含的頁面(你例子中的included.jsp),解析后在和主頁面放到一起顯示;

靜態(tài)INCLUDE在使用的時候,不會解析所要包含的頁面(你例子中的included.htm),也就是說,不管你的included.htm中有什么,我的任務(wù)就是把你包含并顯示,其他的一概不管

jsp:include是先編譯一下included.jsp文件,然后再包含 先編譯,后包含@ include是先把文件包含就來,然后統(tǒng)一編譯 先包含,后編譯

Java中 forward 和redirect的區(qū)別

使用forward的時候瀏覽器不知道它所請求的具體資源來源,所以地址欄不會變;

使用redirect,服務(wù)端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址.所以地址欄顯示的是新的URL。

forward,轉(zhuǎn)發(fā)頁面和轉(zhuǎn)發(fā)到的頁面可以共享request里面的數(shù)據(jù).

redirect,不能共享數(shù)據(jù).

jsp有哪幾個內(nèi)置對象?

1.request -->觸發(fā)服務(wù)調(diào)用的請求 -->范圍是:request

2.response -->對請求的應(yīng)答 -->范圍是:page

3.session -->為請求的客戶創(chuàng)建的session對象 -->范圍是:session

4.application -->從 servlet 配置對象獲得的 servlet 上下文(如在getServletConfig() getContext()的調(diào)用中) -->范圍是:application

5.out -->向輸出流寫入內(nèi)容的對象 -->范圍是:page

6.pageContext -->本 JSP 的頁面上下文 -->范圍是:page

7.page -->實現(xiàn)處理本頁當(dāng)前請求的類的實例 -->page

8.config -->本 JSP 的 ServletConfig -->page

9.exception -->表示JSP頁面運行時產(chǎn)生的異常 -->Page

Servlet 生命周期:

Servlet 加載--->實例化--->服務(wù)--->銷毀。

1,初始化階段 調(diào)用init()方法

2,響應(yīng)客戶請求階段  調(diào)用service()方法

3,終止階段  調(diào)用destroy()方法

left join inner join right join 區(qū)別

left\right join是外部連接,inner join是內(nèi)連接

外部連接有主表與從表,主表在left中是左側(cè)表,right中是右側(cè)表,主表數(shù)據(jù)會全部顯示,從表數(shù)據(jù)則只顯示關(guān)聯(lián)部分匹配的數(shù)據(jù),無匹配的數(shù)據(jù)用null補全

內(nèi)連接則只顯示兩表關(guān)聯(lián)條件匹配的數(shù)據(jù)

注:所謂關(guān)聯(lián)條件即是指on的條件

oracle常用函數(shù)

Oracle SQL 提供了用于執(zhí)行特定操作的專用函數(shù)。這些函數(shù)大大增強了 SQL 語言的功能。函數(shù)可以接受零個或者多個輸入?yún)?shù),并返回一個輸出結(jié)果。 Oracle 數(shù)據(jù)庫中主要使用兩種類型的函數(shù):

1. 單行函數(shù):對每一個函數(shù)應(yīng)用在表的記錄中時,只能輸入一行結(jié)果,返回一個結(jié)果,

比如:MOD(x,y)返回 x 除以 y 的余數(shù)(x 和 y 可以是兩個整數(shù),也可以是表中的整

數(shù)列)。常用的單行函數(shù)有:

  • 字符函數(shù):對字符串操作。

  • 數(shù)字函數(shù):對數(shù)字進行計算,返回一個數(shù)字。

  • 轉(zhuǎn)換函數(shù):可以將一種數(shù)據(jù)類型轉(zhuǎn)換為另外一種數(shù)據(jù)類型。

  • 日期函數(shù):對日期和時間進行處理。

2. 聚合函數(shù):聚合函數(shù)同時可以對多行數(shù)據(jù)進行操作,并返回一個結(jié)果。比如 SUM(x)

返回結(jié)果集中 x 列的總合。

索引是為了加速對表中數(shù)據(jù)行的檢索而創(chuàng)建的一種分散的存儲結(jié)構(gòu)。索引是針對表而建立的,它是由數(shù)據(jù)頁面以外的索引頁面組成的,每個索引頁面中的行都會含有邏輯指針,以便加速檢索物理數(shù)據(jù)。

在數(shù)據(jù)庫關(guān)系圖中,可以在選定表的“索引/鍵”屬性頁中創(chuàng)建、編輯或刪除每個索引類型。當(dāng)保存索引所附加到的表,或保存該表所在的關(guān)系圖時,索引將保存在數(shù)據(jù)庫中。

數(shù)據(jù)庫索引是為了增加查詢速度而對表字段附加的一種標(biāo)識。

索引的作用:

1.通過創(chuàng)建唯一索引,可以保證數(shù)據(jù)記錄的唯一性。
2.可以大大加快數(shù)據(jù)檢索速度。
3.可以加速表與表之間的連接,這一點在實現(xiàn)數(shù)據(jù)的參照完整性方面有特別的意義。
4.在使用ORDER BY和GROUP BY子句中進行檢索數(shù)據(jù)時,可以顯著減少查詢中分組和排序的時間。

感謝各位的閱讀!關(guān)于“JAVA基礎(chǔ)面試題的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享名稱:JAVA基礎(chǔ)面試題的示例分析
網(wǎng)站URL:http://muchs.cn/article14/gehoge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名網(wǎng)站制作、手機網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、靜態(tài)網(wǎng)站、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)