原创 不同的對象佔用內存大小問題

對象頭 對象頭默認 16 bytes 對齊填充 Java對象佔用空間是8字節對齊的,即所有Java對象佔用bytes數必須是8的倍數。 2w個有10個屬性 屬性全是 String public final class Stri

原创 Spring-cloud-feign添加統一的Header

Overview Spring Cloud OpenFeign Doc Github 業務需求 請求某些機密服務,需要做加密操作,所以需要添加統一的簽名 Header 。 Code @Slf4j @Component publ

原创 從0到1,完整的CI-CD流程

1. 項目的基本配置 OverView 項目使用 dev , qa , prod 三套不同的環境,具體可以參考項目代碼。 2. 完整的Build腳本 2.1. 使用maven打包 docker-compose-mave

原创 從0開始服務化-0-調用鏈-Zipkin

Zipkin Zipkin 是一個分佈式跟蹤系統,用於收集、管理和查找跟蹤數據。它可以把分佈式鏈路調用的順序串起來,並計算鏈路中每個 RPC 調用的耗時,可以很直觀的看出在整個調用鏈路中延遲問題。 Zipkin 的設計基於 Goo

原创 使用IDEA自帶的 Editor REST Client 來測試 REST API

使用IDEA自帶的 Editor REST Client 來測試 REST API Overview 開發 REST API 的時候,必然少不了測試。測試 API 可以採用以下方式: Chrome 請求 不方便構造 POST

原创 以太坊輕錢包MetaMask安裝

以太坊輕錢包MetaMask安裝 基本 官網地址 https://metamask.io 特性 MetaMask 是一款在谷歌瀏覽器 Chrome (也支持 Firefox 和 Opera)上使用的插件類型的以太坊錢包,該錢

原创 OpenZeppelin集成:編寫健壯安全的智能合約

OpenZeppelin集成:編寫健壯安全的智能合約 因爲智能合約往往涉及金錢,保證Soldity代碼沒有錯誤,以及足夠的安全是非常根本的。Zeppelin Solutions,一個智能合約審查服務商,已經意識到相關的需求。建立在

原创 ArrayList、Vector、LinkedList分析

ArrayList、Vector、LinkedList分析 ArrayList 實質是包裝了一個數組,遍歷時很快,但是插入、刪除時都需要移動後面的元素,效率略差些。 add()方法 public boolean add(E

原创 使用函數計算來構建小程序

使用函數計算來構建小程序 傳統服務器架構 VS Serverless架構 Serverless架構 Login & Auth 微信登錄狀態維護 語音識別 音頻格式轉換 使用ffpmeg來實現音頻轉換 //使用ffm

原创 深入理解Spring AOP

深入理解Spring AOP 基本知識 面向切面編程 AOP AOP(Aspect-Oriented Programming), 即 面向切面編程。 AOP 術語 通知(Advice) Advice 定義了切面是什麼以及

原创 線程複用:線程池

線程複用:線程池 爲了避免系統頻繁地創建和銷燬線程,我們可以讓創建的線程進行復用。線程池中,總有幾個活躍線程。當你需要使用線程時,可以從池中隨便獲取一個空閒線程,當工作完成時,線程不會關閉而是退回池中。 JDK 提供的線程池

原创 Java內存模型(JMM)

Java內存模型(JMM) 原子性(Atomicity) 原子性是指一個操作是不可中斷的。即使是多個線程一起執行的時候,一個操作一旦開始,就不會被其他線程干擾。 比如,一個靜態全局變量 int i,兩個線程同時對它賦值,線程A

原创 深入分析LinkedHashMap (JDK1.8)

深入分析LinkedHashMap (JDK1.8) 類名和繼承關係 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V

原创 現代網絡負載均衡與代理

原文鏈接:https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff8

原创 使用Jenkins實現自動部署

創建一個簡單的 Pipeline 新建任務 配置一個簡單的 Pipeline node { stage('Clone') { echo "1.Clone Stage" } sta