欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA基礎(chǔ)面試題整理

 更新時(shí)間:2019年10月25日 15:00:52   作者:小生怕怕  
在本篇文章里小編給大家整理的是關(guān)于JAVA基礎(chǔ)面試題的整理內(nèi)容,需要的朋友們可以參考下。

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

簡(jiǎn)單區(qū)別:

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

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

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

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

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

Exception(違例)表示需要捕捉或者需要程序進(jìn)行處理的異常,它處理的是因?yàn)槌绦蛟O(shè)計(jì)的瑕疵而引起的問題或者在外的輸入等引起的一般性問題,是程序必須處理的。

Exception又分為運(yùn)行時(shí)異常,受檢查異常。

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

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

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

1、什么是Set?(what)

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

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

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

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

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

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

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

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

Overload和Override的區(qū)別?

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

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

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

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

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

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

List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?

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

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

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

Hashtable和HashMap的區(qū)別:

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

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

Hashtable類似于HashMap,但是不允許null鍵和null值。它也比HashMap慢,因?yàn)樗峭降摹?/p>

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

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

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

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

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

使用forward的時(shí)候?yàn)g覽器不知道它所請(qǐng)求的具體資源來源,所以地址欄不會(huì)變;

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

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

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

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

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

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

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

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

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

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

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

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

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

Servlet 生命周期:

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

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

2,響應(yīng)客戶請(qǐ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ù)會(huì)全部顯示,從表數(shù)據(jù)則只顯示關(guān)聯(lián)部分匹配的數(shù)據(jù),無匹配的數(shù)據(jù)用null補(bǔ)全

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

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

oracle常用函數(shù)

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

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

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

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

  • 字符函數(shù):對(duì)字符串操作。
  • 數(shù)字函數(shù):對(duì)數(shù)字進(jìn)行計(jì)算,返回一個(gè)數(shù)字。
  • 轉(zhuǎn)換函數(shù):可以將一種數(shù)據(jù)類型轉(zhuǎn)換為另外一種數(shù)據(jù)類型。
  • 日期函數(shù):對(duì)日期和時(shí)間進(jìn)行處理。

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

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

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

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

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

索引的作用:

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

以上就是本次介紹全部知識(shí)點(diǎn)內(nèi)容,感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。

相關(guān)文章

  • springBoot  創(chuàng)建定時(shí)任務(wù)過程詳解

    springBoot 創(chuàng)建定時(shí)任務(wù)過程詳解

    這篇文章主要介紹了springBoot 創(chuàng)建定時(shí)任務(wù)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • JAVA實(shí)現(xiàn)社會(huì)統(tǒng)一信用代碼校驗(yàn)的方法

    JAVA實(shí)現(xiàn)社會(huì)統(tǒng)一信用代碼校驗(yàn)的方法

    這篇文章主要介紹了JAVA實(shí)現(xiàn)社會(huì)統(tǒng)一信用代碼校驗(yàn)的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Java分析Lambda表達(dá)式Stream流合并分組內(nèi)對(duì)象數(shù)據(jù)合并

    Java分析Lambda表達(dá)式Stream流合并分組內(nèi)對(duì)象數(shù)據(jù)合并

    Lambda表達(dá)式,基于Lambda所帶來的函數(shù)式編程,又引入了一個(gè)全新的Stream概念,用于解決集合類庫既有的弊端,Lambda 允許把函數(shù)作為一個(gè)方法的參數(shù)(函數(shù)作為參數(shù)傳遞進(jìn)方法中)。使用 Lambda 表達(dá)式可以使代碼變的更加簡(jiǎn)潔緊湊
    2022-12-12
  • Java中的線程死鎖解讀

    Java中的線程死鎖解讀

    這篇文章主要介紹了Java中的線程死鎖解讀,死鎖就是指兩個(gè)或兩個(gè)以上的線程在搶占資源時(shí),造成相互等待的現(xiàn)象,稱為死鎖,在沒有外力的情況下是會(huì)一直等待無法執(zhí)行下去,需要的朋友可以參考下
    2024-01-01
  • Java內(nèi)存各部分OOM出現(xiàn)原因及解決方法(必看)

    Java內(nèi)存各部分OOM出現(xiàn)原因及解決方法(必看)

    下面小編就為大家?guī)硪黄狫ava內(nèi)存各部分OOM出現(xiàn)原因及解決方法(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • 解決tk.mybatis中寫自定義的mapper的問題

    解決tk.mybatis中寫自定義的mapper的問題

    這篇文章主要介紹了使用tk.mybatis中寫自定義的mapper的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java實(shí)戰(zhàn)之校園外賣點(diǎn)餐系統(tǒng)的實(shí)現(xiàn)

    Java實(shí)戰(zhàn)之校園外賣點(diǎn)餐系統(tǒng)的實(shí)現(xiàn)

    這篇文章主要介紹了如何利用Java實(shí)現(xiàn)簡(jiǎn)易的校園外賣點(diǎn)餐系統(tǒng),文中采用的技術(shù)有:JSP、Spring、SpringMVC、MyBatis 等,感興趣的可以了解一下
    2022-03-03
  • SpringBoot整合Lombok及常見問題解決

    SpringBoot整合Lombok及常見問題解決

    本文主要介紹了SpringBoot整合Lombok及常見問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 用java實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    用java實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • java 中使用maven shade plugin 打可執(zhí)行Jar包

    java 中使用maven shade plugin 打可執(zhí)行Jar包

    這篇文章主要介紹了java 中使用maven shade plugin 打可執(zhí)行Jar包的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評(píng)論