原创 Linux網絡IO模型及JAVA中IO模型

文章目錄1.概述2.Linux網絡IO模型2.1.阻塞IO模型2.2.非阻塞IO模型2.3.IO複用模型2.3.1.select2.3.2.poll2.3.3.epoll2.4.信號驅動IO模型2.5.異步IO3.JAVA中IO模

原创 JAVA線程安全與鎖優化

文章目錄1.線程1.1.線程的實現方式1.1.1.使用內核線程實現1.1.2.使用用戶線程實現1.1.3.使用用戶線程加輕量級進程混合實現1.2.線程的調度方式1.3.java中線程的實現方式2.線程安全2.1.線程安全的幾種類型

原创 源碼分析J.U.C-CountDownLatch

文章目錄1.CountDownLatch介紹1.1.使用場景1.2.與CyclicBarrier的區別1.3.用法2.使用的知識點3.數據結構4.執行流程4.1.await()過程分析4.1.1.執行流程圖4.1.2.源碼執行流程

原创 JVM之javac編譯器、java語法糖

文章目錄1.概述2.javac編譯器2.1.解析與填充符號表2.1.1 解析步驟2.1.2 填充符號表2.2.註解處理器2.3.語義分析與字節碼生成2.3.1.標註檢查2.3.2.數據及控制流分析2.3.3.字節碼生成3.語法糖3

原创 設計模式-蠅量模式/享元模式

1.定義 以共享的方式高效的支持大量的細粒度對象,能夠減少運行時對象實例的個數,節省內存。主要用於減少對象的創建,以節省內存提高性能。 2.使用場景及設計 2.1.使用場景 系統中需要大量類似的對象。例:需要展示100000個隨機

原创 深入JVM-理解內存溢出

本文通過幾個實例來驗證JVM運行時數據區發生OutOfMemoryError(OOM)異常的場景,順便介紹幾個內存相關的基本的虛擬機參數。 1.堆內存溢出 1.1.相關參數 -Xms 堆的最小值 -Xmx 堆的最大值(Xms和X

原创 Redis--數據結構

文章目錄1.概述2.底層數據結構實現2.1.簡單動態字符串2.2.鏈表2.3.字典/符號表/關聯數組/映射2.4.跳躍表2.5.整數集合2.6.壓縮列表3.數據結構類型對象3.1.字符串類型對象3.2.列表類型對象3.3.哈希類型

原创 mtail詳解

文章目錄1.概述2.參數詳解3.安裝啓動4.mtail腳本語法4.1.mtail腳本標準格式4.2.mtail支持的類型4.2.1.counter4.2.2.gauge4.2.3.histogram4.3.更改導出metrics的

原创 log4j2常用配置

文章目錄1.概述2.配置詳解2.1. appender組件列表2.2.ConsoleAppender2.3.RollingFileAppender2.3.1.TriggeringPolicy2.3.2.RolloverPolicy