原创 詳述 Java NIO 以及 Socket 處理粘包和斷包方法

文章目錄Java NIO通道緩衝區代碼示例第一部分第二部分選擇器Socket 處理粘包 & 斷包問題第一個問題:對於粘包問題的解決第二個問題:對於斷包問題的解決示例代碼 Java NIO NIO 是 New I/O 的簡稱,是 J

原创 由阿里巴巴 Java 開發規約 HashMap 條目引發的故事

文章目錄前言存儲結構重要參數JDK8 中的 HashMap 實現newhashputresizeJDK7 中的 HashMap 實現newhashputresize總結 前言 大熱的《阿里巴巴 Java 開發規約》中有提到: 【

原创 帶你詳細瞭解,一致性哈希算法的實現原理

文章目錄背景性質平衡性(Balance)單調性(Monotonicity)分散性(Spread)負載(Load)平滑性(Smoothness)原理 背景 一致性哈希算法在 1997 年由麻省理工學院的 Karger 等人在解決分佈

原创 設置 Linux 別名命令 alias 永久生效的方法

直入主題,編輯.bashrc文件,該文件主要用於保存一些個性化的設置,如命令別名、路徑等: vim .bashrc 執行上述命令後,如下圖所示: 如上圖所示,我們可以在User specific aliases and fu

原创 在使用 Spring Boot 的過程中,你可能不太知道的點?

如題,本文主要羅列一些在使用 Spring Boot 的過程中,大家可能不太知道的點: Spring Boot 的精髓,主要包括自動配置、起步依賴、Actuator 和命令行界面。 Spring Initializr,Click

原创 使用 VisualVM 和 JProfiler 進行性能分析及調優

版權聲明:本文的內容源自於「IBM Developer」的博文,以對原文做重大更新,並新增 JProfiler 的內容。 文章目錄概述背景知識性能分析的主要方式VisualVM安裝方法使用方法MonitorThreadsSa

原创 Spring IOC 容器源碼分析:循環依賴的解決方法

文章目錄1 簡介2 背景知識2.1 什麼是循環依賴2.2 一些緩存的介紹2.3 回顧獲取 bean 的過程3 源碼分析3.1 創建原始 bean 對象3.2 暴露早期引用3.3 解析依賴3.4 獲取早期引用4 總結 1 簡介 本文

原创 詳述 IntelliJ IDEA 遇到 java -source 1.3 中不支持某某操作的解決方法

文章目錄問題背景解決方法方法一方法二 問題背景 在一個新的 Mac Pro 電腦中,安裝 IntelliJ IDEA,並且配置了 JDK 1.8,打開測試項目,運行後,報出如下問題: 通過問題描述,顯然 IDEA 並沒有使用我配

原创 使用 Redis 統計網站 UV 的方法

文章目錄前言思路HyperLogLog使用 Redis 命令操作使用 Java 代碼操作HyperLogLog 實現原理及特點使用 Java 實現 HyperLogLog小結 前言 網站 UV 就是指網站的獨立用戶訪問量Uniqu

原创 Kafka:高吞吐量、消息精確一次語義以及保證消息順序

文章目錄前言高吞吐量順序讀寫Page Cache零拷貝分區分段+索引批量讀寫批量壓縮消息精確一次語義消息系統語義概述必須被處理的故障Kafka 中的精確一次語義冪等性:每個分區中精確一次且有序事務:跨分區原子寫入保證消息順序 前言

原创 詳述 Java 併發編程中 CAS 以及 AQS 的實現原理

版權聲明:本文的內容大都來自於「vioao」的博文,略作修改。 文章目錄CAS什麼是 CAS?CAS 的應用CAS 的缺點AQS什麼是 AQS?AQS 的應用AQS 實現原理淺析 CAS 什麼是 CAS? CAS(Compar

原创 詳述 ThreadLocal 的實現原理及其使用方法

文章目錄實現原理ThreadLocal 的 get 方法ThreadLocal 的 set 方法ThreadLocal 的特性使用方法 Threadlocal是一個線程內部的存儲類,可以在指定線程內存儲數據,並且該數據只有指定線程

原创 詳述 IntelliJ IDEA 遇到 JavaLaunchHelper 多種實現的解決方法

文章目錄問題背景解決方法方法一方法二 問題背景 在 IntelliJ IDEA 中,運行項目,報出如下問題: objc[2150]: Class JavaLaunchHelper is implemented in both /

原创 詳述 Elasticsearch 通過範圍條件查詢索引數據的方法

文章目錄情景查詢方法通過命令實現範圍查詢通過 API 實現範圍查詢 情景 在使用 Elasticsearch 的時候,我們可能會遇到需要以範圍爲條件查詢索引數據的需求。有兩種方法可以實現我們的需求: 第一種:在服務器或者終端,使

原创 記一次 JVM CPU 使用率飆高問題的排查過程

文章目錄問題現象排查過程 問題現象 首先,我們一起看看通過 VisualVM 監控到的機器 CPU 使用率圖: 如上圖所示,在 下午3:45 分之前,CPU 的使用率明顯飆高,最高飆到近 100%,爲什麼會出現這樣的現象呢? 排