原创 面向對象原則之單一職責原則

單一職責原則 基本介紹 單一職責原則(Single Responsibility Principle, SRP),用來控制類的粒度大小,一個類只負責一個功能領域中的相應職責,在軟件系統種,一個類承擔的職責越多,它被複用的可能性就越

原创 Netty剖析之Netty任務隊列

前言 在前面我們有講到,在使用Netty的時候,我們的業務處理都是放到我們自定義的handler裏面,那麼如果handler裏面有一些執行比較耗時的操作的話,依舊會出現線程阻塞的情況,那麼怎麼來處理呢?我們可以回過頭去看看Nett

原创 Netty剖析之NIO-Buffer

什麼是Buffer? Buffer即緩衝區的意思,緩衝區本質上是一個可以讀寫數據的內存塊,可以理解成是一個容器對象,該對象提供了一組方法,可以輕鬆的使用內存塊,緩衝區對象內置了一些機制,能夠跟蹤和記錄緩衝區的狀態變化情況; Buf

原创 Netty剖析之Netty異步模型

異步模型基本介紹 異步的概念和同步相對,當一個異步過程調用發出後,調用者不能立刻得到結果。實際處理這個調用的組件在完成後,通過狀態、通知、回調來通知調用者。 Netty中IO操作是異步的,包括Bind,write,connect

原创 ActiveMQ之整合SpringBoot

基礎設施搭建 新建生產者和消費者模塊: 修改pom文件,增加依賴jar包: <dependencies> <dependency> <groupId>org.springframework.boot</g

原创 Netty剖析之NIO-Channel

什麼是Channel? Channel即通道的意思,NIO的通道類似於流,但有如下區別: 通道可以同時進行讀寫操作,而流同一時刻只能讀或者寫 通道可以實現異步讀寫數據,而流只可同步操作 通道可以從緩衝區讀數據,也可以寫數據到緩衝

原创 Netty剖析之Netty線程模型

線程模型基本介紹 不同的線程模式,對程序的性能有很大影響,爲了搞清Netty線程模式,下面我們來系統的講解下各個線程模式。 目前存在的線程模型有: 傳統阻塞IO服務模型 Reactor 模式,根據 Reactor 的數量和處理資

原创 ActiveMQ之JMS規範

什麼是JMS? JMS即Java消息服務(Java Message Service)應用程序接口,指的是兩個應用程序之間進行異步通信的API,它爲標準協議和消息服務提供了一組通用接口,包括創建、發送、讀取消息等,用於支持Java應

原创 ActiveMQ之Broker

什麼是Broker? 相當於一個ActiveMQ服務器實例,說白了,Broker其實就是實現了用代碼的形式啓動ActiveMQ將MQ嵌入到Java代碼中,以便隨時用隨時啓動,在用的時候再去啓動這樣能節省了資源,也保證了可用性; 示

原创 ActiveMQ之整合Spring

前言 在前面我們講生產者和消費者的時候,代碼編寫的都比較基礎,開發起來費時費力,下面我們將來介紹如何整合spring來簡化開發; 整合配置 pom增加依賴: <!-- activemq連接池 --> <dependency>

原创 MQ入門概述

什麼是MQ? MQ全稱爲Message Queue,即消息隊列面向消息的中間件。生產者往消息隊列中寫消息,消費可以讀取隊列中的消息。 是指利用高效可靠的消息傳遞機制與平臺無關的數據交流,並基於數據通信來進行分佈式系統的集成。通過提

原创 面向對象原則之接口隔離原則

接口隔離原則 基本介紹 接口隔離原則(Interface Segregation Principle, ISP),意爲使用多個專門的接口,而不使用單一的總接口,即客戶端不應該依賴那些它不需要的接口。 根據接口隔離原則,當一個接口太

原创 Spring源碼本地環境搭建

拉取源碼 首先我們到GitHub上找到Spring項目: 將版本切換到5.0.x,然後複製分支鏈接:https://github.com/spring-projects/spring-framework.git 直接通過ide

原创 VMware中安裝CentOS7

鏡像下載 CentOS官網:http://isoredirect.centos.org/ 打開可以看到各個版本的鏡像: 我們點擊http://isoredirect.centos.org/centos/7/isos/x86_64

原创 JVM之類的主動使用和被動使用

Java程序對類的使用方式分爲主動使用和被動使用。 主動使用: 創建類的實例 訪問某個類或接口的靜態變量,或者對該靜態變量賦值 調用類的靜態方法 使用反射,例如:Class.forName(“java.lang.String