原创 分佈式、集羣和微服務之間的區別

分佈式、集羣和微服務之間的區別      分佈式系統是一種系統範式,而分佈式架構是一種系統設計的方法論。它們的含義在某些情況下可能會重疊,但在其他情況下可能會有細微的區別。     分佈式系統 1. 分佈式系統概念是指由多個相互獨立的節點(

原创 設計模式-模板方法模式(Template Method Pattern)

 模板方法模式(Template Method Pattern)    概要    記憶關鍵字:模板方法    定義:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重新定義該算法的某些特定

原创 如何區分代碼質量的好壞?

如何區分代碼質量的好壞?     要評判好壞,我們是不是需要有一種標準?     相信大家都聽說過“高內聚,低耦合”,即類的內聚性是不是很高,耦合度是不是很低。這一原則可以作爲我們評判軟件設計的好壞。     通俗的說,我們就需要儘量讓寫出

原创 享元模式(FlyWeight Pattern)

享元模式(FlyWeight Pattern)   概要   記憶關鍵字:細粒度、共享   定義:運用共享技術有效地支持大量細粒度的對象   類型:結構型   分析:共享對象,將對象的一部分狀態(內部狀態)設計成可共享的,以減少對象的數量,

原创 爲什麼 Redis Cluster 是16384個槽位

爲什麼 Redis Cluster 是16384個槽位 正常的心跳數據包攜帶節點的完整配置,它能以冪等方式來更新配置。如果採用 16384 個插槽,佔空間 2KB (16384/8);如果採用 65536 個插槽,佔空間 8KB (6553

原创 分佈式系統和微服務的關係

 分佈式系統和微服務的關係       一、分佈式系統        分佈式系統是由多臺計算機組成的系統,這些計算機通過網絡進行通信和協作,共同完成一個或多個共享目標。在分佈式系統中,各個計算機節點可以分佈在不同的地理位置,

原创 Java虛擬機內存模型概念

Java虛擬機內存模型概念    Java虛擬機的內存可以分爲三個區域:棧stack、堆heap、方法區method area    一、棧stack    1.  棧描述的是方法執行的內存模型,每個方法被調用都會創建一個棧幀(存儲局部變量

原创 java-打包編譯常用命令

java-打包編譯常用命令   1. maven預編譯(打包檢查異常)   在上到測試環境或者生產環境之前,先在本地打包檢查異常:   mvn clean install -Dmaven.test.skip=true -X     2.

原创 Java集合操作:可變集合和不可變集合

Java集合操作:可變集合和不可變集合    問題產生:java.lang.UnsupportedOperationException    問題定位:在通過mybatisPlus獲取分頁列表的時候寫了下面這段代碼  1 //分頁獲取列

原创 標題:Dubbo RPC開發中的序列化問題:深度解析反序列化導致的HashMap異常

Dubbo RPC開發中的序列化問題:深度解析反序列化導致的HashMap異常 在使用Dubbo RPC進行開發時,我們可能會遇到一些出乎意料的問題。其中之一就是在進行遠程調用時,內部嵌套對象出現與預期不符的HashMap。這個問題的根源在

原创 redis的哪些命令具有原子性?

 redis的哪些命令具有原子性?       Redis 提供的命令大部分都是原子操作,也就是說,在單線程模型下,Redis 執行單條命令時,不會被其他命令插入,即命令在執行期間不會被其他命令打斷,這就保證了它的原子性。 以下是一些 Re

原创 git遠程空倉庫創建以及本地項目關聯遠程倉庫

遠程服務器上創建空倉庫 遠程服務器: 進入git倉庫目錄: cd /home/git mkdir java-test.git cd java-test.git git init --bare chown -R git:git java-

原创 Mybatis自定義mapper.xml-使用遇坑Invalid bound statement

Mybatis自定義mapper.xml-使用遇坑Invalid bound statement

原创 lambda結合stream使用

lambda與stream結合使用 一、 Stream1. Stream流的作用 結合了Lambda表達式,簡化集合、數組的操作2. Stream的使用步驟 獲取Stream流對象 使用中間方法處理數據 使用終結方法處理數

原创 mac下配置git自定義快捷命令

mac下配置git自定義快捷命令   對於經常使用終端命令來對git倉庫進行操作來說,如果能用別名來代替,那可太省事了。mac就支持這樣的配置   1. 指定自定義別名  vi  ~/.bash_profile  配置環境變量,插入類似下面