原创 Java併發編程實踐 中斷與取消 原子變量與非阻塞同步機制

內部鎖 synchronized塊有兩個部分:鎖對象的引用以及保護的代碼塊。 方法的鎖是方法所在的對象本身,靜態方法的鎖是Class對象。 每個java對象都可以隱式的作爲同步的鎖的角色:這些內置的鎖被稱爲內部鎖(intrinsic loc

原创 高性能MySQL分析

目錄Schema與數據類型優化選擇優化的數據類型Scheme設計中的陷阱創建高性能索引高性能的索引策略查詢性能優化慢查詢基礎:優化數據訪問是否請求了不需要的數據是否在掃描額外的記錄重構查詢的方式一個複雜查詢還是多個簡單查詢切分查詢分解關聯查

原创 單元測試實踐思考(junit5+jmockit+testcontainer)

目錄背景方案設計單元測試指導思想單層隔離內部穿透技術實現依賴管理基礎架構封裝Junit5&Jmockit單元測試配置TestContainer封裝官方方案實際方案完整類代碼實現實例總結 背景 之前整理過一篇,基於(SpringCloud+J

原创 Jira項目管理配置指南(三)—— 其他配置與總結

目錄 權限配置 問題鏈接配置 解決方式配置 其他 用戶組 網絡鉤子 總結 我們仍然以這張圖作爲開頭,之前已經講了,Project創建、問題相關、字段相關、界面相關、工作流相關的內容。大部分的內容已經完成,剩餘就是權限相關與問題

原创 Jira項目管理配置指南(一)—— 基礎配置

目錄 Project 搭建概述 Project基本信息 問題相關 問題類型 問題類型方案 字段相關 自定義字段 字段配置 界面相關 界面配置 界面方案 問題類型界面方案 很多大型的軟件公司會自研項目管理平臺,爲了滿足自己

原创 研發環境容器化實施過程(docker + docker-compose + jenkins)

目錄 背景介紹 改造思路 容器構建 基礎準備 中間件容器 外部依賴容器 業務應用容器 容器整合 自動構建容器 Maven相關 非Maven項目 總結 背景介紹 目前公司內部系統(代號GMS)研發團隊,項目整體微服務規模大概是

原创 Java虛擬機-字節碼執行引擎

概述 Java虛擬機規範中制定了虛擬機字節碼執行引擎的概念模型,成爲各種虛擬機執行引擎的統一外觀(Facade)。不同的虛擬機引擎會包含兩種執行模式,解釋執行和編譯執行。 運行時幀棧結構 棧幀(Stack Frame)支持虛擬機進行方法調用

原创 Java虛擬機-類加載機制

目錄 概述 類加載的時機 加載 類加載的過程 加載 驗證 準備 解析 初始化 類加載器 類與類加載器 雙親委派模型 破壞雙親委派模型 概述 虛擬機把描述類的數據從Class文件加載到內存,並且對數據進行校驗、轉換解析和初始

原创 Java虛擬機-字節碼指令

目錄 字節碼指令 字節碼與數據類型 加載和存儲指令 運算指令 類型轉換指令 對象創建與訪問指令 操作數棧管理指令 控制轉移指令 方法調用和返回指令 異常處理指令 同步指令 字節碼指令 Java虛擬機的指令由一個字節長度的、代表

原创 Java虛擬機-類文件結構

目錄 類文件結構 Class類文件的結構 魔數與Class文件的版本 常量池 訪問標誌 類索引、父類索引和接口索引集合 字段表集合 方法表集合 屬性表集合 完整結構描述 實例 源碼 Class文件 分析 魔數、Class版本 常量池

原创 Java虛擬機理解-內存管理

運行時數據區域 jdk 1.8之前與之後的內存模型有差異,方法區有變化(https://cloud.tencent.com/developer/article/1470519)。 java的內存數據區域劃分: 程序計數器 虛擬機棧 本地

原创 單元測試實踐(SpringCloud+Junit5+Mockito+DataMocker)

網上看過一句話,單元測試就像早睡早起,每個人都說好,但是很少有人做到。從這麼多年的項目經歷親身證明,是真的。 這次藉着項目內實施單元測試的機會,記錄實施的過程和一些總結經驗。 項目情況 首先是背景,項目是一個較大型的項目,多個團隊協作開發,

原创 Git基礎概念與Flow流程介紹

目錄 Git相關 基本概念 常見客戶端 TortoiseGit Sourcetree Intellij Idea 命令行 常用命令 存儲區域 命令之 add & commit &push 命令之 branch & checkout

原创 谷歌最佳實踐 - 如何處理代碼審覈中的拒絕反饋

處理代碼審覈中的拒絕反饋 有時候開發者會在代碼審覈後給出拒絕或者負面的反饋。或者是不同意你的建議,或者是抱怨在整體過於嚴格。 誰對誰錯? 當開發者不同意你的建議時,先確認一下他們是不是正確的。通常他們更加靠近代碼,所以對於代碼的具體方面可能

原创 谷歌最佳實踐 - 如何寫代碼審覈評論

來源 如何寫代碼審覈評論 概述 友善一些 清楚的闡述你的理由 要在清楚地給出方向和指出問題後讓開發者自己決定之間做好平衡 鼓勵開發者簡化代碼或者添加說明,而不是解釋代碼爲什麼這麼複雜 禮貌 通常當你在審覈別人的代碼時,友善、尊重、提