原创 Kafka簡單操作

下面所有操作都是基於前面2片文章搭建的zookeeper和kafka集羣,如果不清楚如何搭建環境,請移步部署3個節點的Zookeeper僞分佈式集羣和部署3個節點的Kafka僞分佈式集羣; 1、查看現有topic cd /opt/kaf

原创 【設計模式系列學習筆記】1、簡單工廠模式

如果說數學是思維的體操,那設計模式就是面向對象編程思維的體操; 簡易計算器類結構圖: 操作類,定義兩個操作數,並聲明抽象方法getResult(),具體實現由子類完成; public abstract class Operation

原创 最新版RabbitMQ安裝

一、安裝Erlang 1、使用yum倉庫安裝Erlang 此方法見官網地址: Using PackageCloud Yum Repository A Yum repository with RabbitMQ packages is ava

原创 【設計模式系列學習筆記】7、代理模式 - proxy pattern

代理模式核心作用: 通過代理,控制對象的訪問;可以詳細控制訪問某個對象的方法,在調用方法前做前置處理,調用方法後做後置處理; 代理模式的應用: 遠程代理,爲一個對象在不同的地址空間提供局部代表;這樣可以隱藏一個對象存在於不同地址空間的事實

原创 Java運行時數據區那些事兒

總是記不住這幾個運行時數據區,還是再捋一遍吧。 常見分類,一共5個區域,分爲2種類型: 線程共享 方法區 Method Area 堆內存 Heap 線程獨享 虛擬機棧 VM Stack 本地方法棧 Native Method Sta

原创 Mac 常用IDEA快捷鍵

Mac 鍵盤符號和修飾鍵說明 ⌘  ——> Command ⇧  ——> Shift ⌥ ——> Option ⌃   ——> Control ↩︎  ——> Return/Enter ⌫ ——> Delete ⌦  ——> 向前刪除鍵(

原创 【設計模式系列學習筆記】6、裝飾模式

裝飾模式 Decorator:動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更爲靈活。 動態地爲一個對象增加新的功能,一種用於代替繼承的技術,無需通過繼承增加子類就能擴展對象的新功能;使用對象的關聯關係代替繼承關係

原创 Linux中iptables那點兒事兒

1、NetFilter 是Linux系統核心層內部的一個數據包處理模塊 2、Hook point 數據包在NetFilter中的掛載點,包括 PRE_ROUTING INPUT OUTPUT FORWARD POST_ROUTING i

原创 MySQL索引那些事兒

1.B+樹 一個節點有多個元素 所有元素都在葉子節點冗餘 葉子節點間有指針且有序 推薦一個B+樹演示網站 https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html 2.In

原创 記錄Java有意思的代碼 持續更新~

1.局部變量對象引用 public static void main(String[] args) { List<String> list1 = new ArrayList(); list1.add("a");

原创 線程安全之原子操作 待續~

原子操作,可以是一個步驟,也可以是多個操作步驟,但是其順序不可以被打亂,也不可以被切割而只執行其中一部分(不可中斷性),將整個操作視爲一個整體,資源在該次操作中保持一致,這是原子性的核心特徵。 CAS機制 compare and swap

原创 獲取線程信息

// 獲取 Java 線程管理 MXBean ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); // 不需要獲取同步的 monitor 和 synchron

原创 MySQL高性能優化規範建議,速度收藏——從JavaGuide大神那裏轉載

作者:JavaGuide,原文地址:https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485117&idx=1&sn=92361755b7c3de488b415ec4c5f

原创 線程封閉之ThreadLocal

多線程訪問共享可變數據時,涉及到線程間數據同步問題。 數據都被封閉在各自的線程之中,就不需要同步,這種通過將數據封閉在線程中,而避免使同步的技術,稱爲線程封閉。 ThreadLocal 線程級別變量 每個線程都有一個ThreadLocal

原创 Java線程池那些事兒

阿里巴巴Java手冊中,關於線程池: 線程資源必須通過線程池提供,不允許在應用中自行顯示創建線程。 使用線程池的好處,是減少在創建和銷燬線程上所花的時間以及系統資源的開銷,解決資源不足的問題。 如果不使用線程池,有可能造成系統創建大量同類