原创 Map集合中的computeIfAbsent的用法以及源碼分析

方法概述 如果指定的鍵尚未與值關聯(或被映射到null),則嘗試使用給定的映射函數計算其值,並將其輸入到這個映射中,除非null。 如果函數返回null,則不記錄映射。如果函數本身拋出了一個(未選中的)異常,則重拋異常,並且

原创 Map集合中的computeIfPresent的用法以及源碼分析

方法概述 如果指定鍵的值存在且非空,則嘗試根據給定鍵及其當前映射值,計算新映射。 如果函數返回 null,則將刪除該映射。如果函數本身引發(未經檢查的)異常,則該異常將被重新拋出,並且當前映射保持不變。 請求參數 key

原创 雙親委派模型腦圖

雙親委派模型 定義 對於類的加載,只需要加載進內存一次就足夠了.爲了避免重複加載,當父 ClassLoader 已經加載了該類的時候,就沒有必要子 ClassLoader 再加載一次。這種加載器之間的層次關係,就叫做雙親委派模型

原创 類的初始化和生命週期詳細面試腦圖

類的初始化 主動引用【會初引起始化】 1、使用New關鍵字實例化對象。 2、訪問某個類或接口的靜態變量,或者對該靜態變量賦值。 3、調用類的靜態方法. 4、使用java.lang.reflect包下的方法對類進行反射調用的時候

原创 類加載器面試腦圖

前言 面試官:講一下類加載器? 秋蟬、:......嗯...,想了10秒鐘,類加載器就是加載字節碼文件的。 面試官:沒了? 秋蟬、:沒了,我就瞭解這麼多。其他的想不起來了。 面試官:今天的面試到這結束,還有什麼要問的嗎?....回

原创 使用正則截取字符串和拼接

  第一種使用字符串的截取  /** * 截取字符串 */ @Test public void test(){ String str = "https://item.taoba

原创 Lambda使用Stream包下的Collectors的toMap源碼分析以及入門案例【第二篇】

返回自己想要的key和value /** * toMap * TODO * public static <T, K, U> * Collector<T, ?, Ma