原创 RabbitMQ vhost權限問題

RabbitMQ vhost權限問題 在整合spring boot和RabbitMQ時,需要配置RabbitMQ,由於新手第一次使用,因此vhost的權限並未設置,會遇到如下問題 Channel shutdown: channel

原创 centos7安裝netspeeder教程

centos7安裝netspeeder教程 方法一: 使用以下命令從github上下載安裝腳本 wget --no-check-certificate https://gist.github.com/LazyZhu/dc3f2f8

原创 設計模式概覽

面向對象的分析設計會根據一些原則進行設計,以下是一些常見的設計原則。 常見的面向對象設計原則 單一職責原則SRP(Single Responsibility Principle: 就是說一個類僅有一個引起它變化的原因。如果一個類有多個引

原创 淺拷貝(shallow copy)和深拷貝(deep copy)

淺拷貝(shallow copy):只負責克隆按值傳遞的數據(比如基本數據類型、String類型) 深拷貝(deep copy):除了shallow copy的值外,還負責克隆引用類型的數據,基本是就是被克隆實例所有的屬性數據都會被克隆出

原创 JAVA IO流結構圖概覽

整理Java IO流的關係,並作圖如下,以供參考。 下圖基於JDK 1.8製作,其中需要注意的是StringBufferInputStream和LineNumberInputStream已被廢棄。 詳情如下: 1. StringBuffe

原创 設計模式——觀察者模式

定義: 定義對象間的一種一對多的依賴關係。當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並被自動更新。 觀察者模式UML圖 Subject: 目標對象,通常具有如下功能 一個目標可以被多個觀察者觀察 目標提供觀察者註冊和退訂的

原创 淺談Java線程狀態

本文章基於JDK8版本 從官方文檔看,Java線程有6種狀態,分別爲NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED,在類Thread中有更詳盡的對於線程狀態描述,如下代

原创 設計模式——裝飾模式

定義:動態地給一個對象添加一個額外的職責。就增加功能來說,裝飾模式比生成子類更爲靈活。 裝飾者模式UML圖 Component: 組件對象的接口,可以給這些對象動態地添加職責 ConcreteComponent:具體的組件對象,實現組件

原创 Redis存儲結構體信息是用hash還是string

在講到使用hash還是string存儲的選擇前,先了解Redis的hash和string結構。 以下資料引自老錢的Redis深度歷險(侵刪) string string和hash都是Redis的一種數據結構。string結構常用來緩存用戶

原创 微服務負載均衡組件Ribbon——源碼解讀篇

從這幾篇源碼解讀可以發現一個規律,那就是引進某個服務,會經常看到@Configuration和@Import(核心服務註冊類)這兩個註解,伴隨着@ConditonalOnClass(XXX.class)、@ConditionalOnBea

原创 微服務負載均衡組件Ribbon——實戰篇

Ribbon是一個有容錯能力的客戶端負載均衡器,支持HTTP\TCP\UDP協議,從前面Feign的源碼可以看出來,默認Feign集成了Ribbon。下面是官方對Ribbon特性的一個簡介。 Ribbon is a client side

原创 多線程設計模式綜述

    由於多核CPU已經成了每臺電腦的標配,計算機性能大大提高,隨之帶來的是程序員對多核的高效利用,也就是多併發編程。顯然,多併發編程大大提高了系統的吞吐率,使得高併發不再遙不可及。但與此同時,也帶來了很多令人頭疼的問題。爲了解決多線程

原创 微服務架構設計模式綜述

隨着微服務的大量應用,在實踐中也會遇到很多之前單體架構所沒有的問題,微服務架構設計模式也應運而生。架構方面的權威Chris Richardson先生從多個角度歸納了42個設計模式,我將其歸納整理如下表,以饗讀者。後面會陸續出關於微服務架構

原创 多線程設計模式-保護性暫掛模式

定義:如果某個線程執行特定的操作前需要滿足一定的條件,則在該條件未滿足時將該線程暫停運行(即暫掛線程,使其處於等待狀態,直到該條件滿足時才繼續該線程的運行)   保護性暫掛模式UML圖 GuardedObject: 包含受保護方法的對象

原创 多線程設計模式-主僕模式

定義:將一個任務(原始任務)分解爲若干個語義等同的子任務,並由專門的工作者線程來並行執行子任務 主從模式UML圖 Master: 負責原始任務的分解、子任務的派發和子任務處理結果的合併     service: Master參與者對外暴