原创 基準測試神器 - JMH [ Java Microbenchmark Harness ]

Table of Contents 一. 簡介 二. 安裝 [ idea plug ] 三. 註解 @Benchmark @Warmup @Measurement @BenchmarkMode @OutputTimeUnit @State

原创 Hadoop3.2.1 【 HDFS 】源碼分析 : BlocksMap解析

一.概述 BlocksMap是Namenode上與數據塊相關的最重要的類, 它管理着Namenode上數據塊的元數據, 包括當前數據塊屬於哪個HDFS文件, 以及當前數據塊保存在哪些Datanode上。 當Datanode啓動時, 會對D

原创 慎用 System.out.println( ) 之 性能測試

一. 緣由 這兩天在驗證問題的時候, 突然發現一個問題System.out.println( ) 會影響測試的準確性, 因爲System.out.println( ) 本來性能就很差!!!!!! 所以特意做了個性能測試.   二.測試代碼

原创 IntelliJ IDEA 無法debug JDK 源碼解決

  如圖,  去掉  勾選 java.* 和 javax.*

原创 分佈式事務(2PC、3PC、TCC)

Table of Contents 什麼是分佈式事務? 1、兩段提交(2PC) 2、三段提交(3PC) 3、補償事務(TCC) 什麼是分佈式事務? 我們看看百度上對於分佈式事務的定義:分佈式事務是指事務的參與者、支持事務的服務器、資源服務

原创 Hadoop3.2.1 【 HDFS 】源碼分析 : RPC原理 [九] RPC 請求格式

  ■ length: 每個protobuf類型的數據都包含一個length字段, 這是因爲, 在HDFS寫入操作時, 使用了writeDelimitedTo()方法。 這個方法會先寫入數據的length, 然後再寫入數據。 ■ Rp

原创 Redis 分佈式鎖的 5個坑

一、鎖未被釋放   這種情況是一種低級錯誤,就是我上邊犯的錯,由於當前線程 獲取到redis 鎖,處理完業務後未及時釋放鎖,導致其它線程會一直嘗試獲取鎖阻塞,例如:用Jedis客戶端會報如下的錯誤信息 1redis.clients.je

原创 六 種 @Transactional 註解失效場景

Table of Contents 一、事務 二、@Transactional介紹 1、@Transactional註解可以作用於哪些地方? 2、@Transactional注有哪些屬性? propagation屬性 isolation

原创 九種 分佈式ID生成方式

Table of Contents 一、爲什麼要用分佈式ID? 1、什麼是分佈式ID? 2、那麼分佈式ID需要滿足那些條件? 二、 分佈式ID都有哪些生成方式? 1、基於UUID 2、基於數據庫自增ID 3、基於數據庫集羣模式 4、基於數

原创 JAVA工具類 [ 調用HTTP 請求 ]

      /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See

原创 CentOS 配置網卡多隊列

網卡多隊列指實例規格支持的最大網卡隊列數。單臺實例vCPU處理網絡中斷存在性能瓶頸時,您可以將實例中的網絡中斷分散給不同的CPU處理,從而提升性能。   前提條件 您的實例規格必須支持網卡多隊列功能。支持多隊列的實例規格請參見實例規格族,

原创 Java動態代理Proxy&InvocationHandler 實例

代理類在程序運行時創建的代理方式被成爲 動態代理。 也就是說,這種情況下,代理類並不是在Java代碼中定義的,而是在運行時根據我們在Java代碼中的“指示”動態生成的。相比於靜態代理, 動態代理的優勢在於可以很方便的對代理類的函數進行統一

原创 Hadoop3.2.1 RPC通訊 一鍋端

下面是最近整理的關於Hadoop3.2.1  RPC 的通訊文章彙總, 以及我最後畫的一張從Client端請求到Server端的流程圖. 有什麼不對的地方,歡迎指正...   Hadoop3.2.1 【 HDFS 】源碼分析 : RPC實

原创 Hadoop3.2.1 【 HDFS 】源碼分析 : RPC原理 [八] Client端實現&源碼

這篇文章主要寫 Hadoop RPC Client 的設計 與實現 . 在講解的時候, 以 ProtobufRpcEngine爲實例, 然後分步進行敘述.     一.Client端架構 Client類只有一個入口, 就是call()方法

原创 CentOS7.6 萬兆網卡性能測試.

Table of Contents 一. 物理機&軟件: 二.網卡信息 三. 安裝netperf 四. 開啓多隊列功能 五. 測試 5.1.性能標 5.2.netserver和netperf配置參數 5.2.netserver和netpe