原创 dubbo學習(六) -- dubbo spi

前言 瞭解過java spi後, 馬上來看看dubbo spi有什麼特殊之處 dubbo spi demo 還是以一個運行的demo開始, 基本和官網一樣 public static void main(String[] args

原创 小程序(零)開發前期準備

前言 因爲一個原因需要一個答題的小程序,作爲程序員當然要自己動手實現,目前還在開發中,一段時間會發布開發過程,最終會展示全部代碼。 1.1 環境準備 按照小程序流程下載編譯器、註冊賬號等; 1.2 熟悉代碼結構 代碼結構如下圖

原创 dubbo學習(三)--優化調用功能

信息 在上一章中我們已經實現了一個基本完美的rpc框架,但是我們不能驕傲,需要不斷完善。 首先我們來處理下消息傳遞的問題,之前是以‘-’分割字符串,只能傳遞一個參數。現在我們把它修改爲json格式傳遞。 這裏json選擇使用阿里的

原创 深入理解計算機系統 之 第一章 計算機系統漫遊

1、只有ASCII構成的文件稱爲 文本文件,所有其他文件稱爲 二進制文件 2、在Unix系統中,從源文件到目標文件的轉化是由 編譯器驅動程序完成的 鏈接是將調用的函數通過某種方式結合到可執行文件中。 3、系統的硬件組成 總線,

原创 dubbo學習(四)-- 註冊中心

註冊中心 在orz框架中(對就是我們在做的這個框架的名字orz~), 消費者是寫死生產者地址的, 爲了後面支持集羣擴展(真的麼…), 我們這次搞一個註冊中心, orz是抄…咳咳…借鑑dubbo的產品(產品…), 所以我們使用zoo

原创 消息中間件 一 之 AMQP譯文(上)

RabbitMQ是AMQP的實現成果, 所以在研究RabbitMQ之前, 不如先看看協議本身. 1 Overview 概述 1.1 Goals of This Document 文檔目標 本文檔定義了網絡協議AMQP, 客戶端可以

原创 dubbo 學習(二)-- 簡單實現遠程方法調用

參考博客 前言 在學習dubbo過程中,經常有“我要學習什麼的想法”,經常有看完一部分不知道後面要幹嘛的時候。總的來說感覺自己缺少“dubbo能幹什麼?”的明確答案,所以在學習的時候就缺乏學習路線,這也跟自己長期的學習習慣有關:我

原创 數據結構(二)--散列

目錄什麼是散列散列函數hash衝突分離鏈表法探測散列表線性探測法平方探測法雙散列再散列 什麼是散列 散列首先是一個數組,所以它的訪問速度快,它與數組的不同在於可以通過一個關鍵字訪問數據,這個關鍵字與數組下標之間的映射關係有散列函數

原创 消息中間件 零

消息中間件是什麼? MOM Message-Orientd Middleware is software infrastructure focused on sending and receiving messages betwe

原创 dubbo學習(五) -- java spi

前言 深入dubbo源碼前最好先了解下java spi(service provider interface)機制, 簡單來說, spi可以幫我們加載指定文件中描述的接口實現類. 嗯…就這? 是不是太簡單了, 雖然我是個菜瓜, 那

原创 數據結構(一)--樹

目錄樹的定義二叉查找樹AVL樹單旋轉雙旋轉伸展樹展開之子型一字型java中樹的應用 樹的定義 什麼是樹 :一棵樹是一些節點的集合。這個集合可以是空集;若不是空集,則樹由稱作根的節點r以及0或多個非空的子樹組成,這些子樹中每一顆的根

原创 RabbitMQ 教程譯文(五) + 學習

原文地址 https://www.rabbitmq.com/tutorials/tutorial-five-java.html Topics 在之前的教程中,我們改進了日誌系統,我們使用direct exchange代替fanou

原创 MYSQL學習筆記-01-簡單使用

以下很多內容來自於網絡 目錄用戶、權限備份explainmysql調優建議 用戶、權限 創建用戶 // host 用戶地址,%表示可以遠程,localhost表示本地,也可以指定具體IP create user ‘username

原创 guava EventBus 學習二 源碼

上篇介紹了guava包中的event bus的使用, 本篇深入源碼瞭解實現細節 EventBus 瞭解 首先當然要看EventBus類, 類上的註釋說了很多, 總結如下: 1 EventBus保證在多線程環境下, 不會同時訪問訂閱

原创 消息中間件(三) 之 RabbitMQ延遲隊列

延遲任務 什麼是延遲任務 需要延遲一段時間才需要處理的任務. 比如訂單關閉, 電商平臺一般會給用戶30分鐘左右交錢時間, 當超時未交錢就需要關閉訂單. 訂單的延時關閉就是一種延遲任務. 怎麼實現延遲任務 定時任務 最普遍的做法應該