原创 JDK1.8HashMap源碼學習

此篇文章我們來學習一下HashMap的源碼,這也是面試經常能問到的知識點,而之所以爲什麼面試會問到它,就是因爲他的設計思想,是非常值得我們學習的,也是非常經典的。同時不同的JDK版本之間,HashMap源碼也是不同的,此篇文章我們只是1.

原创 正向代理與反向代理

正向代理與反向代理說白了就是把你們都知道的東西給起了個名字 正向代理: 正向代理主要在客戶端,我們可以用vpn來理解,我們的請求,都是通過代理服務器轉發出去的,所以才能訪問外國網站。 反向代理: 反向代理,主要在服務端,例如Ngnix,

原创 Zookeeper學習之Leader選舉

首先介紹一下涉及選舉的幾個基本概念: 一、基本概念 1、myid(sid):服務器ID 此值是在在配置集羣中myid文件中的數值,同時此數值與配置文件中server. 後面數字一致。此字段代表集羣中每一個ZK的代表,此數值大小也會影響投票

原创 Zookeeper學習之Znode學習

此篇文章我們來學習ZK裏面的節點(Znode) ZK中的節點分爲三種: 持久節點:創建之後永久存在的節點,除非主動刪除,也不會因創建節點的客session失效而消失 臨時節點:與客戶端session綁定,一旦session過期,則臨時節

原创 Zookeeper學習之初識ZK

此篇文章我們會簡單講解一下zookeeper的下載,啓動,配置文件解析,集羣配置方式以及角色的分工 一、下載並啓動 下載地址: https://zookeeper.apache.org/releases.html   建議下載歷史版本,就

原创 微信小程序傳參解決方案

最近要開發一個公司內部使用的微信小程序,但是遇到頁面傳參的時候遇見了問題。 微信小程序中只有onload是可以接受參數的,而且官方文檔中說的是,只有第一次加載的時候纔會觸發,導致我認爲onLoad這個方法可能用不太上,因爲頁面複用之後,只

原创 Zookeeper學習之分佈式介紹

最開始的系統,由於用戶量的稀少以及業務場景的簡單,所以開始的時候,我們只需要一個系統,就可以滿足我們的業務需求,同時,這樣也可以減少節點以及成本;這種也被成爲單一應用架構。 但是隨着用戶量以及業務複雜地的增長,很顯然,在單一應用的情況下,

原创 通過反編匯字節碼指令重新理解i++

都說i++是線程不安全的,而且還說是先執行完全部操作後,在執行自增操作,那麼這都是爲什麼呢,死記硬背是沒有用的,就讓我們從字節碼指令的方面來了解這一切吧 首先介紹一個指令 javap -c  我們可以在後面接class文件名,如  既可

原创 java PrintWriter下載文件亂碼處理方案

記錄踩過的坑: 前提條件: 使用文件流:PrintWriter out = response.getWriter(); 系統編碼格式:UTF-8 讀取文件格式:GBK 過程: 開始以爲是response有問題   修改編碼格式 requ

原创 RocketMQ之名詞解釋

RokcetMQ 現在市面上功能都很完善的一款分佈式,隊列模型的消息中間件 首先來介紹一下Rocket支持的幾個重要的特性: 訂閱與發佈: 消息的發佈是指某個生產者向某個topic發送消息; 消息的訂閱是指某個消費者關注了某個topic中

原创 RocketMQ之rocketmq-console可視化插件安裝

1.下載項目 git地址  https://github.com/apache/rocketmq-externals 碼雲地址   https://gitee.com/mirrors/RocketMQ-Externals 2.修改配置 進

原创 java進程通信方式

由於內存管理的一些機制,導致兩個進程間並不能直接的進行通信(在獨立的用戶空間),因此我們需要利用一些介質來完成兩個進程之間的通信。以下是常用的進程間通信方式。 管道(Pipe):管道是一種半雙工的通信方式,數據只能單向流動,而且只能在具

原创 進程線程區別

進程: 進程(Process)是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。在早期面向進程設計的計算機結構中,進程是程序的基本執行實體;在當代面向線程設計的計算機結構中,進程是線

原创 BIO,NIO,AIO基本概念及區別

此篇文章我們會簡單介紹一下BIO,NIO,AIO三者的基本概念,實現原理以及性能區別,但是大家也只是簡單瞭解原理就好,因爲到我們真正的去實現的時候會發現有很多反人類的東西,例如NIO,他的空輪詢很容易導致CPU飆升,自定義的方法也可能會有

原创 RokcetMQ之生產者消費者消息處理實例代碼

首先創建springBoot項目,並引入依賴包 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-cli