原创 Redis實現分佈式鎖機制的原理

Redis中實現分佈式鎖機制 加鎖 使用setnx(商品ID,1); 返回0,代表redis裏面有數據,即數據已經加鎖; 返回1,代表redis裏面沒有數據,即可以獲得鎖。 解鎖 使用redis的del 商品ID命令,刪除其中

原创 Zookeeper中分佈式鎖的實現原理

Zookeeper中的數據存儲結構就像一棵樹,樹上的節點叫做Znode。這裏,Znode有四種類型: 持久節點; 持久節點順序節點 臨時節點 臨時節點順序節點 所謂的順序節點,即在創建節點時,Zookeeper會根據創建的時間

原创 微服務架構的常見概念

1.微服務架構要解決的問題 最大的問題:網絡是不可靠的。 1.1 客戶端如何訪問多個服務? 解決方案:服務聚合到API網關,聚合服務 1.2 服務與服務之間如何通信? 同步通信:Http(Apache Http Client)、R

原创 Zookeeper集羣的崩潰恢復

Zookeeper可以幫我們實現服務的註冊與發現。然而,現在有一個問題是,如果只採用一個Zookeeper服務器,那麼當這個服務器宕機時,意味着整個分佈式服務無法正常工作。爲了解決這一問題,就需要Zookeeper集羣。 然而,在

原创 Zookeeper服務註冊與發現機制原理

Zookeeper解決了分佈式鎖的各種機制,通過它,我們可以將重心放在業務邏輯上,而非併發控制上。 Zookeeper提供了兩個功能: 分佈式鎖; 服務註冊與發現。 Zookeeper的數據模型 /動物汽車貓狗寶馬奔馳 Zooke

原创 【java】字符串列表與字符串的相互轉換

經常需要用到將字符串列表轉換爲字符串,或者將字符串轉換爲字符串列表,今天總結一下: 目錄 1.將逗號分隔的字符串轉換爲List 2.將List轉換爲以逗號分割的字符串 2.1 字符串拼接法 2.2 調用jar包 1.將逗號分隔的字符串轉換

原创 【hexo】博客網站的基本設置

經過前幾篇博客的介紹,我們已經學會了如何使用hexo,如何進行靜態網站的生成和部署hexo d -g,下面本節將會帶領大家學習一下hexo博客的一些基礎信息的設置和博客美化。 1.設置網站的基本信息 在根目錄下的_config.

原创 【java】多線程之join方法

在逛論壇的時候發現這樣一個問題: Thread tt = new Thread(new HelloRunnable()); tt.start(); tt.join(); 既然java中join是讓當前線程等待線程tt終止,然後再繼續執行

原创 【github】利用PicGo免費部署Github圖牀

今天在csdn上看到了一個新的概念“圖牀”,百度了一下,發現和筆者最近關注的markdown有些關係,就順便總結學習一下。 1.圖牀 2.建立Github圖牀倉庫 3.圖牀管理工具 3.1 PicGo下載安裝 3.2 PicGo的配置 

原创 【java】死鎖產生分析與檢測分析工具

最近在看了一些關於多線程死鎖分析的博客,在死鎖的分析方面有了一點自己的經驗,下面將它總結記錄下來。 1. 死鎖簡介 1.1 死鎖的產生 1.2 線程 1.3 鎖 2. 死鎖舉例 3. 死鎖分析 3.1 VisualVM簡介 3.2 Vis

原创 【Matlab】雙摺線圖和雙柱形圖混合繪圖

爲了更好地展示幾組算法在不同情況下的幾種指標,需要使用如下圖所示的圖像。 這裏,橫軸代表算法,兩個縱軸代表每種算法對應的不同的指標。 % 數據 Ncar=1:3; % 柱狀圖數據 Norder1 = [800 1100 1250]

原创 【java】樂觀鎖與悲觀鎖

一般來說,對於併發的場景,我們通常使用鎖來保證線程安全: 悲觀鎖是一種悲觀的策略。它總是假設每一次的臨界區操作會產生衝突,因此,必須對每次操作都小心翼翼。如果有多個線程同時需要訪問臨界區資源,就寧可犧牲性能讓線程進行等待,所以說

原创 【js】D3繪製平行座標圖

平行座標系(parallel)是一種常用的可視化高維數據的圖表。平行座標系的具有良好的數學基礎, 其射影幾何解釋和對偶特性使它很適合用於可視化數據分析。 文章目錄1. 利用D3.js繪圖1.1 邏輯代碼1.2 跨域的概念1.2.1

原创 【java】深克隆和淺克隆

本文內容來自於:深淺克隆面試題彙總——附詳細答案 1.使用克隆有什麼好處? 答:好處包含以下幾點: 使用方便:假如要複製一個對象,但這個對象中的部分屬性已經被修改過了,如果不使用克隆的話,需要給屬性手動賦值,相比克隆而已麻煩很多; 性能高

原创 【Typora】博客離線書寫併發布到CSDN

Typora是一款輕便簡潔的Markdown編輯器,支持即時渲染技術,這也是與其他Markdown編輯器最顯著的區別。即時渲染使得你寫Markdown就想是寫Word文檔一樣流暢自如,不像其他編輯器的有編輯欄和顯示欄。官方地址爲