亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

前百度面試官整理的——Java后端面試題(二)

thekingisalwaysluc / 2141人閱讀

摘要:另外,還可以調(diào)用和等很便利的方法,以返回表示字段,方法,以及構(gòu)造器的對象的數(shù)組。運行結(jié)果無參構(gòu)造器有參構(gòu)造器和實現(xiàn)原理和區(qū)別和區(qū)別是一個集合接口。

對象的四種引用

強引用只要引用存在,垃圾回收器永遠不會回收

可直接通過obj取得對應(yīng)的對象 如 obj.equels(new Object()); 而這樣 obj 對象對后面 new Object 的一個強 引用,只有當 obj 這個引用被釋放之后,對象才會被釋放掉,這也是我們經(jīng)常所用到的編碼形式。

軟引用 非必須引用,內(nèi)存溢出之前進行回收,可以通過以下代碼實現(xiàn)

這時候sf是對obj的一個軟引用,通過sf.get()方法可以取到這個對象,當然,當這個對象被標記為需要回收的對象 時,則返回null; 軟引用主要用戶實現(xiàn)類似緩存的功能,在內(nèi)存足夠的情況下直接通過軟引用取值,無需從繁忙的 真實來源查詢數(shù)據(jù),提升速度;當內(nèi)存不足時,自動刪除這部分緩存數(shù)據(jù),從真正的來源查詢這些數(shù)據(jù)。

弱引用 第二次垃圾回收時回收,可以通過如下代碼實現(xiàn)

弱引用是在第二次垃圾回收時回收,短時間內(nèi)通過弱引用取對應(yīng)的數(shù)據(jù),可以取到,當執(zhí)行過第二次垃圾回收時, 將返回null。弱引用主要用于監(jiān)控對象是否已經(jīng)被垃圾回收器標記為即將回收的垃圾,可以通過弱引用的 isEnQueued 方法返回對象是否被垃圾回收器標記。 ThreadLocal 中有使用到弱引用,

虛引用 垃圾回收時回收,無法通過引用取到對象值,可以通過如下代碼實現(xiàn)

虛引用是每次垃圾回收的時候都會被回收,通過虛引用的get方法永遠獲取到的數(shù)據(jù)為null,因此也被成為幽靈引 用。虛引用主要用于檢測對象是否已經(jīng)從內(nèi)存中刪除。

Java獲取反射的三種方法

1.通過new對象實現(xiàn)反射機制2.通過路徑實現(xiàn)反射機制3.通過類名實現(xiàn)反射機制

Java反射機制

Java 反射機制是在運行狀態(tài)中,對于任意一個類,都能夠獲得這個類的所有屬性和方法,對于任意一個對象都能夠 調(diào)用它的任意一個屬性和方法。這種在運行時動態(tài)的獲取信息以及動態(tài)調(diào)用對象的方法的功能稱為 Java 的反射機制。

Class 類與 java.lang.reflect 類庫一起對反射的概念進行了支持,該類庫包含了 Field,Method,Constructor 類 (每 個類都實現(xiàn)了 Member 接口)。這些類型的對象時由 JVM 在運行時創(chuàng)建的,用以表示未知類里對應(yīng)的成員。

這樣你就可以使用 Constructor 創(chuàng)建新的對象,用 get() 和 set() 方法讀取和修改與 Field 對象關(guān)聯(lián)的字段,用 invoke() 方法調(diào)用與 Method 對象關(guān)聯(lián)的方法。另外,還可以調(diào)用 getFields() getMethods() 和 getConstructors() 等很便利的方法,以返回表示字段,方法,以及構(gòu)造器的對象的數(shù)組。這樣匿名對象的信息 就能在運行時被完全確定下來,而在編譯時不需要知道任何事情。

運行結(jié)果:無參構(gòu)造器Run......有參構(gòu)造器Run......Apple

Arrays.sort 和 Collections.sort 實現(xiàn)原理 和區(qū)別

Collection和Collections區(qū)別

java.util.Collection 是一個集合接口。它提供了對集合對象進行基本操作的通用接口方法。

java.util.Collections 是針對集合類的一個幫助類,他提供一系列靜態(tài)方法實現(xiàn)對各種集合的搜索、排序、 線程安全等操作。 然后還有混排(Shuffling)、反轉(zhuǎn)(Reverse)、替換所有的元素(fill)、拷貝(copy)、返 回Collections中最小元素(min)、返回Collections中最大元素(max)、返回指定源列表中最后一次出現(xiàn)指定目 標列表的起始位置( lastIndexOfSubList )、返回指定源列表中第一次出現(xiàn)指定目標列表的起始位置 ( IndexOfSubList )、根據(jù)指定的距離循環(huán)移動指定列表中的元素(Rotate);

事實上Collections.sort方法底層就是調(diào)用的array.sort方法,

legacyMergeSort (a):歸并排序 ComparableTimSort.sort():Timsort 排序

Timsort 排序是結(jié)合了合并排序(merge sort)和插入排序(insertion sort)而得出的排序算法

Timsort的核心過程

TimSort 算法為了減少對升序部分的回溯和對降序部分的性能倒退,將輸入按其升序和降序特點進行了分 區(qū)。排序的輸入的單位不是一個個多帶帶的數(shù)字,而是一個個的塊-分區(qū)。其中每一個分區(qū)叫一個run。針對這 些 run 序列,每次拿一個 run 出來按規(guī)則進行合并。每次合并會將兩個 run合并成一個 run。合并的結(jié)果保 存到棧中。合并直到消耗掉所有的 run,這時將棧上剩余的 run合并到只剩一個 run 為止。這時這個僅剩的 run 便是排好序的結(jié)果。

綜上述過程,Timsort算法的過程包括

(0)如何數(shù)組長度小于某個值,直接用二分插入排序算法

(1)找到各個run,并入棧

(2)按規(guī)則合并run

前百度面試官整理的——Java后端面試題(三)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/74610.html

相關(guān)文章

  • 百度面試整理——Java面試題(三)

    摘要:但在的過程中過程中有可能被其他對象調(diào)用它的產(chǎn)生異常,如果你的程序不捕獲這個異常,線程就會異常終止,進入狀態(tài),如果你的程序捕獲了這個異常,那么程序就會繼續(xù)執(zhí)行語句塊可能還有語句塊以及以后的代碼。 LinkedHashMap 的應(yīng)用 基于 LinkedHashMap 的訪問順序的特點,可構(gòu)造一個 LRU(Least Recently Used) 最近最少使用簡單緩存。 也有一些開源的緩存產(chǎn)...

    mumumu 評論0 收藏0
  • 百度面試整理——Java面試題(一)

    摘要:發(fā)生了線程不安全情況。本來在中,發(fā)生哈希沖突是可以用鏈表法或者紅黑樹來解決的,但是在多線程中,可能就直接給覆蓋了。中,當同一個值上元素的鏈表節(jié)點數(shù)不小于時,將不再以單鏈表的形式存儲了,會被調(diào)整成一顆紅黑樹。 showImg(https://segmentfault.com/img/bVbsVLk?w=288&h=226); List 和 Set 的區(qū)別 List , Set 都是繼承自...

    JessYanCoding 評論0 收藏0
  • 端最強面經(jīng)匯總

    摘要:獲取的對象范圍方法獲取的是最終應(yīng)用在元素上的所有屬性對象即使沒有代碼,也會把默認的祖宗八代都顯示出來而只能獲取元素屬性中的樣式。因此對于一個光禿禿的元素,方法返回對象中屬性值如果有就是據(jù)我測試不同環(huán)境結(jié)果可能有差異而就是。 花了很長時間整理的前端面試資源,喜歡請大家不要吝嗇star~ 別只收藏,點個贊,點個star再走哈~ 持續(xù)更新中……,可以關(guān)注下github 項目地址 https:...

    wangjuntytl 評論0 收藏0
  • Android-Java面試

    摘要:好不容易在月號這天中午點左右接到了來自阿里的面試電話。這里會不斷收集和更新基礎(chǔ)相關(guān)的面試題,目前已收集題。面試重難點的和的打包過程多線程機制機制系統(tǒng)啟動過程,啟動過程等等掃清面試障礙最新面試經(jīng)驗分享,此為第一篇,開篇。 2016 年末,騰訊,百度,華為,搜狗和滴滴面試題匯總 2016 年未,騰訊,百度,華為,搜狗和滴滴面試題匯總 各大公司 Java 后端開發(fā)面試題總結(jié) 各大公司 Jav...

    TalkingData 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<