原创 Java8 stream流的演示

前言 我們前面說了 lambda表達式,這次我們就將下JDK8的另一個新特性,流(Stream) stream和lambda搭配使用效果更佳,(如果你沒有學過lambda表達式,最好先學習下lambda表達式) 看着逼格也更高,也

原创 springboot banner是怎麼加載的

前言 我們肯定很好奇,當我們啓動 springboot 的時候,這個下面的 banner 是怎麼打印出來的呢? 以及我們可不可以定製我們自己的banner,那我們就進入一下 SpringBoot 的源碼,看下他是怎麼加載的吧 P

原创 ELK、Kafka日誌蒐集

前言 使用 ELK+Kafka 首先需要安裝相應的軟件,我安裝的都是 6.4.3的版本,不同的版本可能會有衝突。一些地方可能更改 其中這幾個工具的作用分別是 FileBeat 收集過濾日誌文件。將日誌文件收集後發送至kafka

原创 JDK8 stream流的騷操作

前言 我們前面說了 lambda表達式,這次我們就將下JDK8的另一個新特性,流(Stream) stream和lambda‘搭配使用效果更佳,(如果你沒有學過lambda表達式,最好先學習下lambda表達式) 看着逼格也更高,

原创 redis配置和使用

前言 我們通過和數據庫的交互獲取數據,但是某些數據加載會嚴重影響性能,因爲查詢數據庫是一個比較耗時的事情。我們能不能提高查詢數據的效率? 這個時候我們就需要使用 redis了。(當然提升查詢效率不只有redis) 如果圖片鏈接失效

原创 ReentrantLock源碼分析

大綱 前言 所有文章同步更新與Github–Java-Notes,想了解JVM(基本更完),HashMap源碼分析,spring相關,併發,劍指offer題解(Java版),可以點個star。可以看我的github主頁,每天都

原创 幫你解決類的關係,看源碼必備

前言 當你在閱讀源碼的時候,看到那些繼承來實現去的各種類和接口,是不是已經不知道他的爸爸(父類)是誰,他的爺爺(父類的父類)是誰,只知道他的祖宗是誰(Object類)?畢竟類之間的關係太說不清道不明,只能說一句"貴圈真亂" 沒關

原创 鎖還有悲觀者和樂觀者

大綱 文章目錄大綱前言互斥(阻塞)同步—悲觀鎖synchronized三種形式:實現原理ReentrantLock選擇非阻塞同步—樂觀鎖版本號機制條件CAS算法步驟CAS缺點選擇原因 前言 悲觀鎖和樂觀鎖是面試的高頻問題 我們應該

原创 輕量級鎖、重量級鎖都是啥玩意

大綱 前言 我的所有文章同步更新與Github–Java-Notes,想了解JVM(基本更完),HashMap源碼分析,spring相關,,併發,劍指offer題解(Java版),可以點個star。可以看我的github主頁,

原创 對象內存佈局

大綱 前言 我的所有文章同步更新與Github–Java-Notes,想了解JVM(基本更完),HashMap源碼分析,spring相關,,併發,劍指offer題解(Java版),可以點個star。可以看我的github主頁,

原创 Java現在還比C++執行慢嗎?——JVM運行期優化

大綱 前言 我的所有文章同步更新與Github–Java-Notes,想了解JVM,HashMap源碼分析,spring相關,劍指offer題解(Java版),可以點個star。可以看我的github主頁,每天都在更新喲。 邀

原创 能看懂的字節碼-上

大綱 文章目錄大綱前言Class文件結構需要記的Class文件格式嚴格限定,不可更改準備程序軟件打開命令行魔數概念Class文件的魔數版本號常量池範圍有什麼怎麼看最後下篇預告 前言 我的所有文章同步更新與Github–Java-No

原创 HashMap-put源碼分析(帶註釋)

大綱 文章目錄大綱寫在前面本文結構脈絡個人理解語句以及中文註釋HashMap 的數據結構數組+鏈表爲啥採用這種方式源碼中的變量名數組鏈表其他put元素步驟那麼假如我現在執行下面的語句,他到底怎麼執行第一條語句-構造函數第二條語句put

原创 從原始到最新的垃圾回收器

大綱 文章目錄大綱前言Serial特點ParNew特點Parallel Scanvenge特點吞吐量優先自動調節適應Serial Old特點Parallel Old特點CMS特點回收步驟缺點G1特點收集過程 前言 我的所有文章同步更

原创 能看懂的字節碼-下

前言 上一篇看得懂的字節碼講了怎麼看字節碼,以及字節碼中的魔數、版本號和常量池部分,這篇文章接着字節碼順序往下將。請一定要看了上一篇之後再看這一篇,因爲有絕對的邏輯關係,不看上一篇這篇基本看不懂。 如果這篇文章中有我沒有講到怎麼出現的