原创 解讀Dubbo源碼——服務調用過程

之前介紹了Dubbo的整體架構,現在我們來說一下Dubbo的調用過程。 直奔主題,先看一下官方的說明 節點角色說明: Provider: 暴露服務的服務提供方。 Consumer: 調用遠程服務的服務消費方。 Registry: 服務註

原创 Java8新特性——反射獲取方法參數名(附開發工具開啓方法)

參考:https://blog.csdn.net/f641385712/article/details/81291273 參考:http://www.mamicode.com/info-detail-2162647.html 方法的參數名

原创 利用自定義註解和Aspect實現方法參數的非空校驗

日常開發過程中,最常見的異常莫過於NullPointerException,相信大家都對它恨之入骨吧。我也是。 空指針異常出現的原因有以下幾種: 調用 null 對象的實例方法。 訪問或修改 null 對象的字段。 如果一個數組

原创 解讀Dubbo源碼——spring-boot2整合dubbo-starter

最近Dubbo又重新開始了維護,並且提供了和Spring-Boot整合的Dubbo-Starter。作爲Dubbo的忠實使用者,真的是感動啊!這不,趕緊搭建個小Demo來爽了一把。 一、項目結構 我們一共搭建3個模塊,common模塊定義

原创 解讀Dubbo源碼——初識dubbo

一、前言 隨着互聯網的發展,網站應用的規模不斷擴大,軟件架構也在不斷演進(上一篇博客有更詳細的介紹點此傳送)。 單一應用架構 當網站流量很小時,只需一個應用,將所有功能都部署在一起,以減少部署節點和成本。 此時,用於簡化增刪改查工作量的

原创 大型網站的架構

一、大型網站的軟件系統的特點 高併發,大流量 高可用 海量數據 用戶分佈廣泛,網絡情況複雜 安全環境惡劣 需求快速變更,發佈頻繁 漸進式發展 二、大型網站的架構演化發展歷程 1、初始階段的網站架構 最開始網站的應用程序、數據庫、文件等所有

原创 解讀Dubbo源碼之ZooKeeper——主要功能及原理

本文轉自:https://blog.csdn.net/weijifeng_/article/details/79775738 一 、Zookeeper功能簡介 ZooKeeper是一個開源的分佈式協調服務,由雅虎創建,是 Google C

原创 解讀Dubbo源碼之ZooKeeper——分佈式鎖(公平和非公平兩種形式)

關於ZooKeeper,上一篇博客有更詳細的介紹(傳送門)。 一、分佈式鎖 在同一個jvm進程中時,可以使用JUC提供的一些鎖來解決多個線程競爭同一個共享資源時候的線程安全問題,但是當多個不同機器上的不同jvm進程共同競爭同一個共享資源時

原创 解讀Dubbo源碼——javassist

一、背景 編程語言有靜態語言和動態語言之分,例如:C、C++、Java等屬於靜態語言,JavaScript、Ruby、Python等屬於動態語言。 動態語言的靈活性非常高,遺憾的是,至今爲止,作爲Java程序員的我尚未享受到動態編程的樂趣

原创 解讀Dubbo源碼——Java SPI

參考:https://blog.csdn.net/sigangjun/article/details/79071850 一、什麼是SPI?有什麼用? 先貼一張官方文檔的介紹圖: 總結一下:SPI,全名爲Service Provider

原创 Java內部類序列化

一個類能夠序列化,需要滿足兩個條件: ​​​​​​​類本身實現序列化接口Serializable 類所有的成員屬性實現序列化接口Serializable Java的嵌套類(nested class)一共有四種: static nested

原创 利用Java的動態編譯、動態加載結合EasyRules實現業務規則的動態性

作爲一名專門寫bug的Java程序猿,相信大家都會遇到過這樣的問題:項目的業務邏輯很複雜,而且還經常變化,今天的一個辦理條件是小於5,明天就變成了大於10或者條件作廢。這就很頭疼了,裏面的數字可以抽取到配置文件,但是大於和小於呢?條件作廢

原创 設計模式的六大原則

1、單一職責原則(Single Responsibility Principle, SRP):一個類只負責一個功能領域中的相應職責,或者可以定義爲:就一個類而言,應該只有一個引起它變化的原因。 說明:單一職責原則遵循了高內聚低耦合的指導方

原创 我要學大數據之算法——歸併排序

簡單粗暴的解釋:內部有序外部無序的兩個數組的排序。 歸併排序以O(NlogN)最壞情形時間運行,而所使用的比較次數幾乎是最優的。它是遞歸算法一個好的實例。 典型應用場景:MapReduce。  遞歸:一個方法調用自己本身。其關鍵點是要找到

原创 自定義maven插件:自動生成API的word文檔

繼上次開發完Maven插件開發:根據庫表生成實體類&根據實體類生成庫表之後,博主對開發maven插件喜愛得一塌糊塗。這不,今天給大家帶來了《自定義maven插件:自動生成API的word文檔》。 老規矩,先上鎮樓圖。(讀者們也可以研究下S