原创 與RabbitMQ的第一次親密接觸

一、前言 首先說一下RabbitMQ,爲什麼叫RabbitMQ呢? 嘿嘿嘿,我想大部分人沒想過這個問題,Rabbit兔子,作者是想表示可以兔子繁殖起來異常的瘋狂,就像分佈式系統一樣。說到兔子瘋狂繁殖,讓我想到了高中時代做過的很多數

原创 java8之stream【一】steam的說明以及創建

一、Stream說明 Stream與IO無任何關係。 Java 8 中的Stream是對集合 (Collection) 對象功能的增強, 他專注於對集合對象進行各種非常便利,高效的聚合操作(aggregate operation)

原创 Tomcat原理初探(一)

一、前言 Tomcat是什麼?如果是問現在的小孩子,他會一臉問號的看着你。 如果你問80、90後,他會邪魅一笑,湯姆貓嘛,我還是傑瑞呢 =_=。 emmmmm,直接開始正文吧。發現現在自己越來越直接了,沒前戲,直接進入正戲。 二、

原创 重溫JVM(二)JVM內存模型

一、前言 上文講過了虛擬機的內存劃分,即,我們將內存分爲線程共享和線程私有。 線程共享的即java堆,和方法區。java堆大家可能都不會陌生;而方法區中包含了常量池,他也被稱爲永久代。通常方法區也會被叫做非堆,但是在邏輯上,他卻是

原创 重溫JVM(一)虛擬機內存

一 、前言 JVM是什麼,我想諸位肯定都清楚。 好吧,我還是簡答說一下JVM即Java虛擬機(夠簡單吧 233333)。 雖然說,所有拋開操作系統,講虛擬機的內容,都是耍流氓。但是,貧僧不修善果,就愛殺人放火,就愛耍流氓。好吧,扯

原创 高併發處理,從Java8新特性說起

一、前言 隨着公司業務的擴展和用戶的增加,我們的網關接口不得不面對高併發的場景。 如何處理高併發請求呢?除了在系統架構上,分庫分表、分佈集羣,異步處理等處理方式。本文來聊一聊,通過Java語言本身,來進行高併發場景的優化。 二、核

原创 java線程啓動原理分析

一、前言 不知道哪位古人說:人生三大境界。第一境界是:看山是山看水是水;第二境界是看山不是山看水不是水;第三境界:看山還是山看水還是水。 其實我想對於任何一門技術的學習都是這樣。 形而上下者爲之器,形而上者爲之道。一直很喜歡自己大

原创 數據庫數據量達到億級的處理方案猜想

一、分庫分表 1、分庫這裏就不展開說了 2、關於分表 [1] 分表應該分兩種情況,第一種是橫向分表 也就是對錶橫切,按照數據量進行拆分。 到達何種數據量進行拆分呢?這個看業務區分。 [2]第二種情況是縱向分表 也就是拆分字段,比如一張

原创 《Netty權威指南》閱讀筆記--思維導圖

如果頁面展示不清晰,可以右鍵,在新Tab打開,然後放大即可。

原创 在SpringBoot使用AOP

一、AOP是什麼 AOP(Aspect-Oriented Programming,面向方面編程),可以說是OOP(Object-Oriented Programing,面向對象編程)的補充和完善。OOP引入封裝、繼承和多態性等概念來建

原创 基於Netty的RPC實現

前言 這個demo,主要是展示了RPC與Netty在一起所產生的一種奇妙的化學反應,與傳統的,阻塞的通信不同,基於Netty的PRC框架,可以實現,兩個服務之前,異步的方法調用。 其實這篇文章的關鍵詞已經給出來了,即:兩個服務之前,異

原创 與NIO的第一次親密接觸

前言 隨着互聯網的不斷髮展,用戶羣體越發龐大。 從互聯網初入中國,國內的上網用戶不過數萬,而上網也只能簡單的進行郵件,瀏覽新聞。到現在幾乎每個人都可以通過互聯網進行社交,娛樂,學習。中間不但有社會經濟的發展,java技術也隨之不斷髮展

原创 java8之steam【一】steam的說明以及創建

一、Steam說明 Steam與IO無任何關係。 Java 8 中的Steam是對集合 (Collection) 對象功能的增強, 他專注於對集合對象進行各種非常便利,高效的聚合操作(aggregate operation), 或者大

原创 Java8特性之'::' 關鍵字

Java8中提供了::,使我們可以直接訪問類的構造函數,靜態函數,對象函數。 首選我們構造一個類Product public class Product { private long id; private Str

原创 PRC原理分析:從一個簡單的DEMO開始

項目結構如下 一、service是服務層 實現瞭如下接口: HelloServices 代碼如下: package consumer.service; public interface HelloServices { St