大战熟女丰满人妻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面試題及答案”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产另类视频 | 九月婷婷亚洲综合在线 | 日本不卡在线观看免费v | 久热精品免费 | 日本一级爽爽爽爽 | 欧美亚洲国产日韩综合在线播放 | 男人看的网址 | 五月婷婷社区 | 66精品综合久久久久久久 | 久青草视频97国内免费影视 | 阿v视频在线观看免费播放 阿v天堂2017 | 久久午夜宅男免费网站 | 精品视频中文字幕 | 国产成人在线小视频 | 夜间福利在线观看 | 狠狠色成人综合首页 | 天天干天天拍天天射 | 欧美α片无限看在线观看免费 | 欧美成人激情视频 | 91成人午夜精品福利院在线观看 | 国产一区二区久久精品 | 国产在线观看一区精品 | 久久免费精彩视频 | 九九精品国产99精品 | 欧美在线观看a | 久99久精品视频免费观看v | 日本伊人网 | 视频一区精品 | 美利坚永久精品视频在线观看 | 最新国产福利 | 亚洲午夜久久久精品影院视色 | 欧美夜夜片a | 亚洲欧美综合区自拍另类 | 久久综合图片 | 日本不卡视频在线 | 2022国产91精品久久久久久 | 香蕉福利| 国产精品手机网站 | 国产区一区二 | 久久爱噜噜噜噜久久久网 | 热久久精品免费视频 |