原创 Java8特性詳解(二):lambda表達式與方法引用

文章目錄1 Lambda表達式1.1 Lambda特性1.2 Lambda基本語法2 使用場景 -- 函數式接口2.1 函數式接口2.2 Java8引入新的函數式接口3 類型推斷與類型檢查3.1 類型推斷3.2 Lambda簽名類

原创 ThreadLocal#ThreadLocalMap內部類實現細節

文章目錄一、ThreadLocalMap實現思想二、屬性與構造方法三、核心方法3.1 hashcode的計算3.2 set()方法3.3 getEntry()方法3.4 remove()方法3.5 rehash()方法3.6 對於

原创 【ThreadLocal】ThreadLocal實際開發中的注意點

ThreadLocal內存泄漏 內存泄漏:對象不再使用,但是仍然駐留在內存中。 ThreadLocalMap中Entry的結構 static class Entry extends WeakReference<ThreadLo

原创 【線程池】線程池的重要屬性與狀態切換

線程池狀態和工作線程數–ctl ctl屬性的設計原理 ctl屬性是一個Integer原子變量,用於記錄線程狀態和線程池中線程數量。Integer變量的高3位記錄線程狀態,剩餘位記錄線程池線程個數。 // ctl屬性:默認爲RUNN

原创 【線程池】 正確創建線程池的方法

正確創建線程池的方法 線程池可以通過Executors工具類自動創建,也可以手動創建。對於如何選擇,《Java開發手冊》有如下描述: 線程池不允許使用Executors創建,而是通過ThreadPoolExecutor方式。這樣

原创 解決Jedis連接虛擬機中Redis失敗的問題

報錯日誌 報錯日誌如下:原因清晰可見,無法連接到虛擬機的redis服務。 There was an unexpected error (type=Internal Server Error, status=500). Could

原创 HTML常用標籤總結思維導圖

常用標籤總結 總結旨在便於記憶,屬性不需要強行記憶。細節查閱W3C

原创 IDEA html文件ctrl+shift+/註釋失效,瀏覽器圖標消失問題

檢查idea是否安裝了svelte的插件 settings --- plugins ---搜索--- svelte

原创 【線程池】重要方法底層原理解讀

分析線程池的底層原理,有問題煩請批評指正。 execute()方法 提交任務command到線程池執行。 public void execute(Runnable command) { // 0. 如果任務爲空,拋出N

原创 【線程內參】啓動線程

啓動Java線程 public class StartAndRunMethod { public static void main(String[] args) { Runnable task = () -

原创 線程死鎖、活鎖和飢餓

死鎖 死鎖的概述 死鎖發生在併發中,並且互不相讓。 描述:當兩個或者多個線程(或者進程)互相持有對方所佔有的資源,又不主動釋放自己的資源,導致線程陷入阻塞,即爲死鎖。多個線程如果存在環形的鎖依賴關係,可能導致死鎖。 例子:有兩個人

原创 class.getResourceAsStream()和class.getClassLoader().getResourceAsStream()的區別

文章目錄web項目獲取資源的理解兩種獲取方式的區別Maven項目獲取源碼目錄下資源文件的方式 web項目獲取資源的理解 對於Java web項目,XX.class.getResourceAsStream(filepath)和XX.

原创 transient關鍵字與ArrayList序列化的實現

文章目錄transient關鍵字transient關鍵字的使用爲什麼使用transient關鍵字自定義序列化transient修飾的成員變量ArrayList序列化與反序列化問題爲什麼對底層數組採用transient修飾Array

原创 [HTML] HTML常用基礎標籤

HTTP基礎語法 div標籤是塊級結構佈局元素,因此結合css盒模型講解。 HTTP基本結構 基本結構標籤 HTTP文件包括頭部信息和網頁內容,body中的內容在網頁中顯示。 <html> <head> <title>標題

原创 常用數據庫連接池的區別與配置

文章目錄數據庫連接池的必要性數據庫連接池規範接口註釋接口分析瞭解常用數據庫連接池c3p0連接池dbcp連接池druid連接池三種連接池的屬性配置參考 數據庫連接池的必要性 數據庫連接是稀缺的、昂貴的資源,一個數據庫連接對象對應一個