原创 鎖的分類和synchronized底層原理

文章目錄一、JAVA中鎖的概念1、自旋鎖2、樂觀鎖3、悲觀鎖4、獨享鎖(寫)5、共享鎖(讀)ReadWriteLock6、可重入鎖、不可重入鎖7、公平鎖、非公平鎖二、synchronized的底層原理1、堆內存中的Java對象2、

原创 Spring Boot總結一

文章目錄一、Spring Boot介紹二、創建springboot應用的三種方法1、通過[start.spring.io](https://start.spring.io/)2、通過IDE(IDEA、STS)快速創建3、完全手動創

原创 MySQL 第七篇:數據庫設計、視圖與觸發器

本篇內容由猿道教育的課程內容整理而來。 我把MySQL的內容整理成9篇博客,學完這9篇博客雖不能說能成爲大神,但是應付一般中小企業的開發已經足夠了,有疑問或建議的歡迎留言討論。 數據庫設計 數據庫設計,一個軟件項目成功的基石。 爲

原创 Redis系列九、Redis運行文件詳解

1、redis-cli 詳解 ./redis-cli -r 3 -h 192.168.1.111 -a 12345678 ping //返回pong表示127.0.0.1:6379能通,r代表次數 ./redis-cli -r 1

原创 線程間協作和通信

文章目錄線程操作的定義線程間操作:對於同步的規則定義Happens-before先行發生原則final在JMM中的處理Word Tearing字節處理volatile關鍵字synchronized關鍵字等待和通知機制join方法p

原创 JVM總結之JVM內存結構

文章目錄JVM內存結構1、線程私有部分① 程序計數器② 虛擬機棧③ 本地方法區2、線程共享部分① 堆② 方法區(永久代)運行時常量池(Runtime Constant Pool)堆和棧的區別3、直接內存4、jdk1.6、jdk1.

原创 JVM總結之垃圾回收

文章目錄垃圾回收一、java堆內存的細分1、分代收集算法2、新生代2.1、Eden 區2.2、Survivor From 區2.2、Survivor To 區3、老年代4、元數據5、對象分配6、對象晉級二、垃圾回收1、怎麼定位垃圾

原创 自動化工具之Sonar

文章目錄一、Sonar是什麼1、Sonar簡介2、爲什麼要選擇sonarQube3、代碼質量問題4、Sonar組成5、代碼規則檢測工具5.1、Checkstyle5.2、PMD5.3、Findbug6、Sonar工作流程二、Son

原创 鎖的分類和底層原理

文章目錄一、JAVA中鎖的概念1、自旋鎖2、樂觀鎖3、悲觀鎖4、獨享鎖(寫)5、共享鎖(讀)6、可重入鎖、不可重入鎖7、公平鎖、非公平鎖二、synchronized的底層原理1、堆內存中的Java對象2、輕量級鎖3、重量級鎖4、偏

原创 JVM運行時數據區和CPU優化以及線程原子操作

文章目錄一、JVM運行時數據區二、CPU性能優化手段1、緩存緩存同步協議2、運行時指令重排優化帶來的問題3、內存屏障三、多線程中的問題四、原子操作1、什麼是原子操作:2、競態條件與臨界區3、CAS(Compare and swap

原创 git協同開發

一、Git遠程倉庫 GitHub是一個免費的服務器,這個網站就是提供Git倉庫託管服務的,所以,只要註冊一個GitHub賬號,就可以免費獲得Git遠程倉庫。 注意GitHub上免費託管的Git倉庫,任何人都可以看到,而能免費創建的私有

原创 git進階

查看提交歷史 工作一段時間之後,如果你想查看提交歷史,可以使用git log命令 $ git log 按提交時間列出所有的更新,最近的更新排在最上面。 會列出每個提交的 SHA-1 校驗和、作者的名字和電子郵件地址、提交時間以及提交

原创 git分支

1、git分支的理論知識 我們假設現在有一個工作目錄,裏面包含了三個將要被暫存和提交的文件。 暫存操作會爲每一個文件計算校驗和(SHA-1 哈希算法),然後會把當前版本的文件快照保存到 Git 倉庫中(Git 使用 blob 對象來保

原创 git概述

目前全世界用得最多的版本控制工具git和SVN,其中git是分佈式控制系統,SVN是集中式控制。下面先說說集中式和分佈式控制的區別。 一、集中式VS分佈式 集中式 工作過程 1、從服務器下載最新代碼。 2、進入自己的分支,進行工作,

原创 git命令及相關操作

查看文件狀態 $ git status 1、沒有任何文件的打印結果 工作目錄相當乾淨,當前目錄下沒有出現任何處於未跟蹤狀態的新文件,否則 Git 會在這裏列 出來; 所有已跟蹤文件在上次提交後都未被更改過; 該命令還顯示了當前所在