原创 Redis分佈式鎖實現OneByOne組件

文章目錄背景實現方案實現要點核心代碼OneByOneTemplate模板實現模板定義模板接口定義模板回調接口具體模板實現鎖實現加鎖鎖釋放優點 背景 隨着互聯網項目的訪問量增大,對系統的要求越來越高。應運而生出分佈式系統,高可用集羣

原创 安全設計--CSRF跨站僞造

概念 定義 CSRF跨站點請求僞造(Cross—Site Request Forgery):顧名思義,攻擊者僞造用戶請求請求服務端,但並非在官方站點發起,而是攻擊者的站點,或者攻擊者的腳本。而服務器認爲卻是合法的,有點借刀殺人的

原创 微服務--Eureka Provider Consumer通信

步驟 前提基於 Eureka Server 註冊中心搭建完成 開始搭建Provider 和 Consumer 服務 通過Fegin 進行通信 搭建Eureka Provider 創建Eureka Provider工程 ;P

原创 MySQL--結構知識

結構圖 Connectors 用來支持各種語言和SQL的交互,比如PHP,Python,Java的JDBC 方式:客戶端、API 通信協議:TCP/IP; linux下:Unix Socket 通信方式:同步半雙工 同一

原创 深入理解MyBatis--認識Mybatis

一直想探究Mybatis的內部實現,之前自己抽空看了下源碼,當時把核心的代碼流程都能走一遍,感覺似懂非懂的懂了,過了一段時間呢又沒啥收穫了,還是缺乏理解深度。最近有時間買了本《Mybatis技術內幕》,站在大牛的肩膀,更好的理解M

原创 Java密鑰操作

密鑰相關類 SecretKeySpec,KeyGenerator,KeyFactory,SecretKeyFactory,KeyPairGenerator 對稱密鑰生成:SecretKeySpec keyGenerator

原创 Java摘要

概念 它是一個唯一對應一個消息或文本的固定長度的值,它由一個單向Hash加密函數對消息進行作用而產生。 如果消息在途中改變了,則接收者通過對收到消息的新產生的摘要與原摘要比較,就可知道消息是否被改變了。因此消息摘要保證了消息的

原创 UML--用例圖

定義 UseCase 用例圖描述了一個外部觀察者的視角所見的系統的部分功能, 描述這個系統是什麼而不是這個系統怎麼工作 構成 參與者:Actor 、用例:UseCase、關聯:Association、泛化:General

原创 學習筆記--GIT

公司從SVN轉用GIT,藉機學習一下GIT的知識,並用於實踐。 GIT知識 1.GIT重要概念 2.GIT正向狀態流轉 3.GIT逆向狀態流轉 4.GIT安裝 5.GIT配置 6.倉庫管理 7.Tag操作 8.分支管理 9.文件

原创 學習筆記--微管理

從事軟件開發工作十來年,從一開始啥都不懂到現在可以獨立做項目。角色也有轉變,從開發工程師,到技術經理,再到開發部經理。一步一步走來,一直以技術人員身份自居,雖然承擔部門管理工作時間不算短,但每每抽時間充電,都是學習專業技術,jav

原创 微服務--概念

傳統單體架構 經典3層模型 表現層:交互層,用於直接與用戶交互。通常指網頁,UI 業務邏輯層:業務邏輯處理層 數據訪問層:用於操作數據庫 經典的單體架構 表現層、邏輯層、數據訪問層在一個工程,編譯打包,部署在一臺服務上。

原创 MySQL--解讀執行計劃

作爲一名業務系統的開發人員,在企業日常開發工作中,天天相伴最多的是java代碼和Sql語句。Sql的執行計劃能很好的幫忙開發人員定位SQL的性能問題,預防慢SQL影響生產服務器。每個數據庫的執行計劃查看和呈現都不太一樣,然而MyS

原创 MySQL--事務與鎖

事務 定義 事務是數據庫管理系統(DBMS)執行過程中的一個邏輯單位,由一個有限的數據庫操作序列構成。(維基百科) MySQL只有InnoDB存儲引擎支持事務 事務的開啓和關閉 數據庫默認是自動事務開啓的,執行任意的增刪改都會自

原创 MySQL--SQL執行流程

查詢SQL執行流程 流程圖 流程說明 客戶端通過同步半雙工的長鏈發送查詢sql語句到Connectors。鏈接器進行庫權限校驗。 通過之後請求緩存,命中緩存則直接返回,未命中則轉給解析器。 解析器經過詞法和語法解析生成解析樹

原创 MySQL結構知識

結構圖 Connectors 用來支持各種語言和SQL的交互,比如PHP,Python,Java的JDBC 方式:客戶端、API 通信協議:TCP/IP; linux下:Unix Socket 通信方式:同步半雙工 同一