原创 Netty和Mybatis源碼中文註釋

在上半年我會利用業餘的時間,把netty和mybatis的源碼看一遍,然後對某些關鍵的代碼予以中文的註釋,如果感興趣的可以從下面的github獲取相應的源碼。 https://github.com/mh47838704/netty

原创 加密小記

從目前的瞭解來說主要包括兩種:對稱加密和非對稱加密,其中非對稱加密開銷比對稱加密開銷大。 在連接建立的時候使用非對稱加密傳輸隨機生成的對稱加密祕鑰,在後續的數據加密中就是用隨機生成的對稱祕鑰進行數據的加密傳輸。 一篇比較好的j

原创 apache shiro小記

功能介紹 1、shiro提供了session管理,並且默認實現了部分簡單的session管理器,並且基於sessionDao的方式,可以方便用戶自定義實現更加複雜的session管理器。 2、認證,shiro也提供了用戶相關功

原创 java遠程ssh小記——jsch那些坑

jsch是java ssh遠程連接的框架,在使用的時候首先看了一下官方的實現,然後看了一下這個框架的源碼,發現該源碼註釋太少了,簡直可以說是沒有註釋,只能老老實實的把相關的關鍵類看一下,並結合官方例子完成java ssh連接和遠程

原创 19年序

今天打開自己的博客一看,最近一篇文章已經是一年前了,感嘆時間過的真快,這一年經歷了很多,成長了很多。還有五天就是在新公司一年了,在這一年沒有時間一直在快速的奔跑,沒有時間去想別的事情,沒有時間總結,但是俗話說“學而不思則罔,思而不學則

原创 java類加載機制的深入分析

緒 jvm類加載機制在很多書籍裏面都有講解,主要介紹了基於委託的類的加載機制、類加載鏈接初始化的過程、以及類加載時機等,本篇文章通過編寫自定義的classloader來對相關概念進行更加具體直觀的分析。 源碼樣例分析 SelfClassL

原创 JDK源碼分析——SecurityManager安全管理器實例分析

目錄 目錄 1 樣例github 2 安全管理器簡介 2.1 獲取系統管理器 2.2 設置系統管理器 2.3 JDK默認安全策略文件 2.4 自定義安全策略文件 3 樣例分析 3.1 樣例相關文件 3.2 樣例源碼 4 調試分

原创 JDK源碼分析——ThreadPoolExecutor參數詳解

參考文章:JDK源碼分析——ThreadPoolExecutor參數詳解 本篇文章主要對jdk中線程池ThreadPoolExecutor的參數進行詳細分析 ThreadPoolExecutor已經對上面的各種情況進行了封裝處理,並且提供

原创 nginx——安裝和配置詳解

參考文章:nginx安裝和配置詳解 第一章Nginx介紹 Nginx (engine x) 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx是由伊戈爾·賽索耶夫爲俄羅斯訪問量第二的Ramble

原创 mybatis源碼分析之Mapper初始化過程(1)

通過分析MapperRegistry類的addMapper方法,可以看出mapper的生成過程以及初始化的機制: public <T> void addMapper(Class<T> type) { if (type.isInte

原创 tomcat源碼解讀——啓動過程分析

參考文章:tomcat源碼解讀——啓動過程分析 在上一篇文章中介紹了idea中tomcat源碼調試環境的搭建,調試環境搭建完成之後首先配置tomcat的啓動信息,配置信息如下(具體配置步驟參考源碼中的README文件) 配置好了tomca

原创 Java流式處理——實例分析

參考文章:java流式處理實例分析 由於在項目中使用了很多流式的處理,但是卻對什麼是流式處理沒有概念,所以閒暇之餘看了一下ArrayList的stream的實現,並按照該實現並結合Splitterator的樣例實現了一個簡單的可以併發的L

原创 JDK源碼分析——Java的SPI機制分析與實戰

重點提示:在我博客中的所有的源碼分析的實例,我都將會放到github上,感興趣的朋友可以下載下來調試運行,我相信還是可以有所收穫的。我的目的是讓所有讀到我博客的朋友都可以瞭解到有價值的東西,學習到java核心的原理,使用起來更加得心應手。

原创 深入分析ReentrantLock公平鎖和非公平鎖的區別

在ReentrantLock中包含了公平鎖和非公平鎖兩種鎖,通過查看源碼可以看到這兩種鎖都是繼承自Sync,而Sync又繼承自AbstractQueuedSynchronizer,而AbstractQueuedSynchronizer又繼

原创 tomcat源碼解讀——Idea調試環境搭建

轉載:tomcat源碼解讀——Idea調試環境搭建 由於tomcat源碼本身是基於ant構建的,所以如果想要在idea中運行,那麼需要重新進行配置。 通過在網絡上查詢相關的資料,找到了相關的配置,通過該配置可以在idea中正常的編譯調試。