原创 ArrayList源碼解析——基於JDK1.8

1 常量介紹 1.1 ArrayList常量 /** * 默認初始容量 * Default initial capacity. */ private static final int

原创 Java動態代理&&源碼分析

Java動態代理&&源碼分析 要了解動態代理,肯定跳不過靜態代理,下面將介紹一下靜態代理 1 靜態代理 1.1 繼承 假設一個系統中有一個Person接口,你需要使用這個接口來實現你自己需要的實體類 Person接口 public

原创 Spring IOC——Java反射

Spring IOC——Java反射 1 基礎 spring的技術核心之一是動態代理,而動態代理的核心是java反射。所以如果要學習spring框架,java反射是我們永遠也繞不開的一個坎,這是基礎。 2 反射定義 反射被視爲動態

原创 刪除鏈表中重複的結點——Java實現

刪除鏈表中重複的結點——Java實現 1 前言 刷題也刷了一段時間了,但是總是找不到寫的東西,但就在今天,重新做這道JzOffer上的題,發現思路看着很簡單,但是其中的細節倒是不少,錯了很多次,所以想寫下這道題一起學習一下。 2

原创 HashMap源碼解析——基於JDK1.8

前言 HashMap數據結構由數組和鏈表(超過一定數量轉換爲紅黑樹)組成,在進行增刪查等操作時,首先要定位到元素的所在表的位置,之後再從鏈表中定位該元素。具體找到表下標的方法是(n - 1) & hash,其中n代表表的長度。 H

原创 JVM學習——虛擬機類加載機制

JVM學習——虛擬機類加載機制 1 概述 虛擬機把描述類的數據從Class文件加載到內存,並對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型,這就是虛擬機的類加載機制。 與那些在編譯時需要進行連接工作的

原创 Linux定時任務,執行shell文件失敗問題&&mailed 73 bytes of output but got status 0x004b#012報錯解決

Linux定時任務,執行shell文件失敗問題 1 前言 最近一直被別人攻擊數據庫,ε=(´ο`*)))唉。又不是什麼重要數據,怎麼一直逮住我不放了。實在沒有什麼辦法了,只能把數據庫做做備份,將損失降到最低吧o(╥﹏╥)o 2 編

原创 JVM學習——解析Java虛擬機運行時數據區

JVM學習——解析Java虛擬機運行時數據區 1 運行時數據區概覽 來一張圖大概看一下JVM運行時數據區的情況,下面我將仔細的介紹各個區域 2 運行時數據區 2.1 程序計數器 程序計數器是一塊較小的內存空間,可以看作是當前線程

原创 ElasticsearchTemplate實現高亮搜索

ElasticsearchTemplate實現高亮搜索 1 前言 搜索關鍵字高亮顯示已經變成搜索不可缺少的一個部分,那當然我的搜索肯定也要有這樣的功能塞,這樣才能夠顯示我的高端不是嗎(ಥ_ಥ) 2 Elasticsearch高亮基

原创 ConcurrentHashMap源碼解析——基於JDK1.8

ConcurrentHashMap源碼解析——基於JDK1.8 前言 這篇博客不知道寫了多久,總之就是很久,頭都炸了。最開始閱讀源碼時確實是一臉茫然,找不到下手的地方,真是太難了。下面的都是我自己閱讀時的一些理解,由於能力有限,如

原创 SpringData整合ElasticSearch

SpringData整合ElasticSearch 1 前言 很早很早以前就聽說了ElasticSearch,知道了它對大量數據的強悍搜索功能,當時就想以後一定要用一下這個東西,把它加到我自己的項目中。兜兜轉轉終於到了使用的這天,

原创 Spring Security默認過濾鏈認識

前言 最近重新學習了一下Spring Security,對整個認證流程有了一個自己的認識。但今天寫的是一個前置的知識點,Spring Security啓動後默認加載的一些過濾器,接着讓我們來看看究竟是哪些 1 啓動後過濾鏈總覽 [

原创 SpringSecurity自定義登錄過濾鏈分析

前言 我用SpringSecurity用的挺多的,但是基本還是隻掌握了用法,對它的認證流程其實還是比較懵逼的,藉助這個機會,我重新學習了一下SpringSecurity,對它有了更深層次的理解。 SpringSecurity認證流

原创 LinkedHashMap源碼解析——基於JDK1.8

前言 LinkedHashMap繼承自HashMap。和HashMap不同的是,它維護一條雙向鏈表,解決了遍歷順序和插入順序一致的問題。並且還對訪問順序提供了相應的支持。因爲LinkedHashMap的很多實現是基於HashMap

原创 HashSet源碼解析——基於JDK1.8

前言 HashSet 是一個不允許存儲重複元素的集合,它的實現比較簡單,只要理解了 HashMap,HashSet 就水到渠成了。當然瞭解HashMap可以參考我的這篇文章 1 常量介紹 //使用HashMap來實現Set的相關