大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 2020年企業常用的高級java面試題及答案

2020年企業常用的高級java面試題及答案

更新時間:2020-08-04 15:52:24 來源:動力節點 瀏覽2528次

接口與抽象類的區別?

一個類可以實現多個接口,但只能繼承最多一個抽象類

抽象類可以包含具體的方法;接口所有的方法都是抽象的(不管是否對接口聲明都是抽象的)(jdk1.7以前,jdk1.8開始新增功能接口中有default方法,有興趣自己研究)

抽象類可以聲明和使用字段;接口則不能,但是可以創建靜態的final常量

抽象類中的方法可以是public、protected、private或者默認的package;接口的方法都是public(不管是否聲明,接口都是公開的)

抽象類可以定義構造函數,接口不能。

接口被聲明為public,省略后,包外的類不能訪問接口

Java中的異常有哪幾類?分別怎么使用?

Throwable包含了錯誤(Error)和異常(Excetion兩類)

Exception又包含了運行時異常(RuntimeException,又叫非檢查異常)和非運行時異常(又叫檢查異常)(1)Error是程序無法處理了,如果OutOfMemoryError、OutOfMemoryError等等,這些異常發生時,java虛擬機一般會終止線程.

-(2)運行時異常都是RuntimeException類及其子類,如NullPointerException、IndexOutOfBoundsException等,這些異常是不檢查的異常,是在程序運行的時候可能會發生的,所以程序可以捕捉,也可以不捕捉.這些錯誤一般是由程序的邏輯錯誤引起的,程序應該從邏輯角度去盡量避免.

(3)檢查異常是運行時異常以外的異常,也是Exception及其子類,這些異常從程序的角度來說是必須經過捕捉檢查處理的,否則不能通過編譯.如IOException、SQLException等

常用的集合類有哪些?比如List如何排序?

常用的集合分為List(有序排放)、Map(以名和值一一對應的存放)、Set(既無序也沒名).在這三者之中其中List和Set是Collection接口的子接口,而Map不是Collection接口的子接口.

List常用有:ArrayList和LinkedList,Vecotr(線程安全)

Set常用有:TreeSet,HashSet元素不可重復,內部結構用HashMap,Key為Set的item值,value為一個固定的常量。java.util.Collections.newHashSetFromMap(),內部其實質還是通過ConcurrentHashMap實現線程安全的。

Map:TreeMap和LinkedHashMap,HashMap,HashTable(線程安全)

sort()方法排序的本質其實也是借助Comparable接口和Comparator接口的實現,一般有2種用法:

直接將需要排序的list作為參數傳入,此時list中的對象必須實現了Comparable接口,然后sort會按升序的形式對元素進行排序;

傳入list作為第一個參數,同時追加一個Comparator的實現類作為第二個參數,然后sort方法會根據Comparator接口的實現類的邏輯,按升序進行排序;

ArrayList和LinkedList內部的實現大致是怎樣的?他們之間的區別和優缺點?

Linkedlist集合的優勢:添加元素時可以指定位置,比ArrayList集合添加元素要快很多。

Linkedlist在get很慢,LinkedList在get任何一個位置的數據的時候,都會把前面的數據走一遍。盡量不使用,而使用foreach LinkedList的方式來直接取得數據。

這兩種方式各有優缺,為更好的使用可以將這兩者進行聯合使用,使用Linkedlist集合進行存儲和添加元素,使用Arraylist集合進行get獲取元素。

內存溢出是怎么回事?請舉一個例子?

內存溢出(out of memory)通俗理解就是內存不夠,在計算機程序中通俗的理解就是開辟的內存空間得不到釋放。

OOM有堆溢出,棧溢出,方法區溢出(主要是動態生成class的處理過多)

==和equals的區別?

==號在比較基本數據類型時比較的是值,而用==號比較兩個對象時比較的是兩個對象的地址值

Object類中equals()方法底層依賴的是==號,那么,在所有沒有重寫equals()方法的類中,調用equals()方法其實和使用==號的效果一樣,然而,Java提供的所有類中,絕大多數類都重寫了equals()方法,重寫后的equals()方法一般都是比較兩個對象的值

hashCode方法的作用?

hashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,hashCode是用來在散列存儲結構中確定對象的存儲地址的;

如果兩個對象相同,就是適用于equals(Java.lang.Object)方法,那么這兩個對象的hashCode一定要相同;

如果對象的equals方法被重寫,那么對象的hashCode也盡量重寫,并且產生hashCode使用的對象,一定要和equals方法中使用的一致,否則就會違反上面提到的第2點;

兩個對象的hashCode相同,并不一定表示兩個對象就相同,也就是不一定適用于equals(java.lang.Object)方法,只能夠說明這兩個對象在散列存儲結構中,如Hashtable,他們“存放在同一個籃子里”。

2020年企業常用的高級java面試題及答案

以上就是動力節點java培訓機構的小編針對“2020年企業常用的高級java面試題及答案”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品久久久久久久久久久久 | 免费日韩精品 | 四虎精品成人免费视频 | 99久久精品免费看国产免费 | 在线羞羞视频 | 免费一区二区三区久久 | 成人精品国产亚洲欧洲 | 2021久久精品99精品久久 | 五月婷视频 | 羞羞色院91蜜桃在线观看 | 国产精品婷婷久青青原 | 成人一区视频 | 精品久久久久久中文字幕专区 | 国产一区二区三区久久精品小说 | 99日韩| 久久视精品 | 久久精品欧美日韩精品 | 一区二区三区国产 | 国产成人免费全部网站 | 欧美专区在线 | 四虎午夜 | 亚洲人和日本人jzz护士 | 久久天天丁香婷婷中文字幕 | 日韩国产欧美 | 欧美性视频一区二区三区 | 亚洲美女黄视频 | 欧美成人自拍 | 夭天干天天做天天免费看 | 成人免费视频一区 | 欧美综合区| 在线观看欧美国产 | 日日操日日碰 | 欧美高清视频www夜色资源网 | 在线亚洲成人 | 日韩视频免费在线播放 | 日本免费不卡视频一区二区三区 | 国产色啪午夜免费视频 | 国产精品成人扳一级aa毛片 | 97精品国产手机 | 久久精品国产乱子伦多人 | 一及毛片 |