原创 java架構之路-(dubbo專題)dubbo的基本使用

  今天我們來說一下dubbo的基本使用,沒有什麼高階的知識,真的超級簡單易懂。 Dubbo核心功能解釋   dubbo 阿里開源的一個SOA服務治理框架,從目前來看把它稱作是一個RPC遠程調用框架更爲貼切。單從RPC框架來說,功能較完善

原创 java架構之路(多線程)synchronized詳解以及鎖的膨脹升級過程

  上幾次博客,我們把volatile基本都說完了,剩下的還有我們的synchronized,還有我們的AQS,這次博客我來說一下synchronized的使用和原理。   synchronized是jvm內部的一把隱式鎖,一切的加鎖和解鎖

原创 java架構之路(多線程)原子操作,Atomic與Unsafe魔術類

  這次不講原理了,主要是一些應用方面的知識,和上幾次的JUC併發編程的知識點更容易理解. 知識回顧:   上次主要說了Semaphore信號量的使用,就是一個票據的使用,我們舉例了看3D電影拿3D眼鏡的例子,還說了內部的搶3D眼鏡,和後續

原创 java架構之路(多線程)JMM和volatile關鍵字(二)

  貌似兩個多月沒寫博客,不知道年前這段時間都去忙了什麼。   好久以前寫過一次和volatile相關的博客,感覺沒寫的那麼深入吧,這次我們繼續說我們的volatile關鍵字。 複習:   先來簡單的複習一遍以前寫過的東西,上次我們說了內存

原创 java架構之路(多線程)大廠方式手寫單例模式

上期回顧:   上次博客我們說了我們的volatile關鍵字,我們知道volatile可以保證我們變量被修改馬上刷回主存,並且可以有效的防止指令重排序,思想就是加了我們的內存屏障,再後面的多線程博客裏還有說到很多的屏障問題。    vol

原创 java架構之路(多線程)JUC併發編程之Semaphore信號量、CountDownLatch、CyclicBarrier柵欄、Executors線程池

上期回顧:   上次博客我們主要說了我們juc併發包下面的ReetrantLock的一些簡單使用和底層的原理,是如何實現公平鎖、非公平鎖的。內部的雙向鏈表到底是什麼意思,prev和next到底是什麼,爲什麼要引入heap和tail來值向nu

原创 java架構之路-(netty專題)初步認識BIO、NIO、AIO

  本次我們主要來說一下我們的IO阻塞模型,只是不多,但是一定要理解,對於後面理解netty很重要的 IO模型精講    IO模型就是說用什麼樣的通道進行數據的發送和接收,Java共支持3種網絡編程IO模式:BIO,NIO,AIO。 BIO

原创 java架構之路(Sharding JDBC)mysql5.7yum安裝和主從

安裝mysql5.7單機 1.獲取安裝yum包 [root@iZm5e7sz135n16ua2rmbk6Z local]# wget http://dev.mysql.com/get/mysql57-community-release-e

原创 java架構之路(MQ專題)kafka集羣配置和簡單使用

  前面我們說了RabbitMQ和RocketMQ的安裝和簡單的使用,這次我們說一下Kafka的安裝配置,後面我會用幾個真實案例來說一下MQ的真實使用場景。天冷了,不願意伸手,最近沒怎麼寫博客了,還請見諒。 一、目標   1.知道什麼是Ka

原创 java架構之路-(NoSql專題)MongoDB快速上手

  NoSQL(NoSQL = Not Only SQL ),意即"不僅僅是SQL"。在現代的計算系統上每天網絡上都會產生龐大的數據量。這些數據有很大一部分是由關係數據庫管理系統(RDBMS)來處理。 1970年 E.F.Codd's提出的

原创 java架構之路-(MQ專題)RocketMQ從入坑到集羣詳解

  這次我們來說說我們的RocketMQ的安裝和參數配置,先來看一下我們RocketMQ的提出和應用場景吧。   早在2009年,阿里巴巴的淘寶第一次提出了雙11購物狂歡節,但是在2009年,服務器無法承受到大規模的併發,導致了大規模宕機停

原创 面向對象的7個設計原則->開車理解->貼近生活

  設計模式在我們的開發中是不可或缺的一部分,很多人會說,我沒用那些設計模式啊,我也開發的挺好的,其實不然,我們在開發中都用到了這些設計模式,只不過我們並沒有在意這些,今天我就用開車的方法來解釋一下我們的7個設計原則。 簡述   面向對象的

原创 java架構之路-(MQ專題)RabbitMQ安裝和基本使用

RabbitMQ安裝   我這裏安裝是使用阿里雲的CentOS7.5來安裝的,使用CentOS版本低於7的可能會報錯。 1.安裝rabbitmq所需要的依賴包 輸入$ yum install build-essential openssl

原创 java架構之路-(Redis專題)redis面試助力滿分+

1.Redis支持的數據類型? 答:五種,在第一節redis相關的博客我就說過,String,Hash,List,Set,zSet,也就是我們的字符串,哈希,列表,集合,有序集合五種。結構圖如下。  2.什麼是Redis持久化?Redis

原创 java架構之路-(Redis專題)簡單聊聊redis分佈式鎖

  這次我們來簡單說說分佈式鎖,我記得過去我也過一篇JMM的內存一致性算法,就是說拿到鎖的可以繼續操作,沒拿到的自旋等待。 思路與場景   我們在Zookeeper中提到過分佈式鎖,這裏我們先用redis實現一個簡單的分佈式鎖,這裏是我們一