原创 Java 運行時區域詳解

文章目錄程序計數器Java 虛擬機棧棧幀局部變量表動態連接方法返回地址操作數棧本地方法棧Java 堆參數方法區元空間運行時常量池直接內存案例參考資料 (上圖的常量池應在Java heap中) 程序計數器 記錄正在執行的虛擬機字

原创 面試官,不要再問我三次握手和四次揮手(近萬字總結)

轉載自《面試官,不要再問我三次握手和四次揮手——猿人谷》 膜拜大佬 👍 文章目錄三次握手概述爲什麼需要三次握手,兩次不行嗎?什麼是半連接、全連接半連接SYN 半連接隊列已滿Linux 開啓 syncookies建立連接SYN

原创 JVM 內存分配與回收策略那些事

文章目錄概述回收策略Minor GCFull GC內存分配策略1. 對象優先在Eden分配2. 大對象直接進入老年代3. 長期存活的對象進入老年代4. 同臺對象年齡判定5. 空間分配擔保Full GC 觸發條件1. 調用 Syst

原创 源碼層次深入理解 ReentrantLock

文章目錄類圖結構公平與非公平實現void lock()底層原理void lockInterruptibly()boolean tryLock()參考資料 類圖結構 ReentrantLock 是 java.util.concurr

原创 關於 Java 撿垃圾那些事

文章目錄概述對象創建過程對象內存佈局對象頭對象實例數據對齊填充對象的訪問定位判斷一個對象是否可被回收引用計數算法可達性分析算法finalize()方法區的回收常量池判斷類判斷引用類型強引用軟引用弱引用虛引用垃圾回收算法分代收集理論

原创 SpringBoot構建電商基礎秒殺項目

慕課網——SpringBoot構建電商基礎秒殺項目 第一章 課程介紹 第二章 應用SpringBoot完成基礎項目搭建 2.1 使用IDEA創建maven項目 2.2 引入SpringBoot依賴包實現簡單的Web項目 2.3 M

原创 深入底層理解 AQS

文章目錄概覽原理分析資源操作AQS 組件總結AQS底層使用了模板方法模式條件變量概述方法總結參考資料 概覽 AQS的全稱爲(AbstractQueuedSynchronizer),這個類在java.util.concurrent.

原创 synchronized 使用與原理

文章目錄0. 原理1. 同步一個代碼塊2. 同步一個方法3. 同步一個類4. 同步一個靜態方法5. 實現雙重校驗鎖1.6 之後的優化參考資料 0. 原理 解決共享內存不可見問題,原子性操作。 synchronized 內的變量會被

原创 synchronized 與 ReentrantLock 的比較與使用

文章目錄前置知識synchronized 與 ReentrantLock 比較使用選擇ReentrantLock和synchronized使用分析參考資料 前置知識 源碼層次深入理解 ReentrantLock synchroni

原创 Java 撿垃圾黑科技

文章目錄ShenandoahJDK 支持與 G1工作過程性能轉發指針 Brooks PointerZGC主要特徵內存佈局染色指針優勢工作過程拓展閱讀參考資料 Shenandoah JDK 支持 JDK8, JDK11, JDK13

原创 Java 撿垃圾利器

文章目錄垃圾收集器Serial優點使用場景ParNew使用場景配合使用CMSG1Parallel Scavenge使用場景參數Serial OldParallel OldCMS流程優點缺點G1概述主要特徵內存分佈回收定位問題與解決

原创 Class 常量池、String Pool、運行時常量池

前言 這三個常量池之間的區別涉及到的底層知識非常的多,看起來很頭疼,筆者看了幾個寫的比較好的博文,並將它們做了個總結,參考鏈接都在底下,建議閱讀! 文章目錄虛擬機加載直接引用與符號引用class 常量池、運行時常量池、Strin

原创 有備而來——Java基礎面試題全總結

前言 主要是在 javaGuide 以及 CYC2018 的基礎上做了修改以及補充 閱讀本文前建議先閱讀《Java基礎知識點總結》,形成知識體系後再看面試題會有不一樣的感悟。 ⭐️內容較多,點贊收藏不迷路 ⭐️ 在學習一

原创 Java 熱點基礎

個人學習的總結學習筆記,參考資料都在文末給出,建議閱讀 ⭐️內容較多,點贊收藏不迷路 ⭐️ 數據類型 基本類型 byte/8 char/16 short/16 int/32 float/32 long/64 double/

原创 Java 容器的那些事兒

前言 主要是在 javaGuide 以及 CYC2018 的基礎上做了修改以及補充。 其它參考資料都在文末給出,建議閱讀。 ⭐️內容較多,點贊收藏不迷路 ⭐️ 在學習一個新的事物時,要始終思考四個問題: 爲什麼存在(