原创 Linux常用命令(六)

sort命令 sed命令 總結: sed是一個非交互式的文本編輯工具,通常在sell腳本中使用; sed每次去處理文件的時候都會將內容拿到一個臨時緩衝區(模式空間)中,每次處理一行,就會輸出到屏幕上。之後將緩存區

原创 Linux常用命令(五)

文件壓縮與打包 常見壓縮包擴展名: gzip -c aa.log > aa.log.gz 壓縮後源文件還在 bzip2 -vc aa.txt > bb.txt.bz2 壓縮比比gzip更佳 tar 命令查詢shell

原创 Linux常用命令(四)

進程 ps -aux|grep bash -a 關聯所有process 通常與-x一起使用 -x 顯示後臺進程 -u 顯示進程屬於哪個用戶 -l 只查看和自己相關的進程 ps -aux USER PID %CPU %

原创 Linux常用命令(三)

文本處理 1. cut 顯示切割的行數據 -f 選擇顯示的列; -s 不顯示沒有分隔符的行; -d 自定義分隔符; [root@node01 ~]# cut -d ' ' -f1 -s test.txt 2. sort 排序文

原创 DruidDataSource配置說明

目錄1. DruidDataSource配置說明2. maven配置3. 如果打開Druid的監控統計功能4. 怎樣使用Druid的內置監控頁面5. 防止sql注入配置6. 參考通用配置7. 連接泄漏監測8. 日誌記錄慢sql9. 如

原创 kafka安裝與使用

安裝kafka 下載安裝包 從官網下載安裝包:官網下載 我這裏下載的是kafka_2.12-2.1.0.tgz版本 上傳到linux服務器/opt目錄下並解壓,在/usr/local/目錄下執行tar -xvf kafka_2.12

原创 kafka的工作機制

kafka架構 kafka拓撲結構說明 producer 消息生產者,發佈消息到kafka集羣的終端或服務 broker kafka集羣中包含的服務器,代理人,消費轉發服務 topic 每條發佈到kafka集羣的消息所屬的類別,即

原创 Redis單結點安裝

服務安裝 首先下載最新版本Redis安裝包,我這裏使用的是redis5.0.2,官網下載地址:https://redis.io/download; 將下載好的安裝包redis-5.0.2.tar放入到Linux目錄/usr/loca

原创 Java設計模式-適配器模式

1. 首先對適配器模式做下簡單介紹: 適配器模式,從名字上大概可以瞭解是做適配處理的。是做什麼樣的適配呢?就是將一個類的接口轉換成想要的接口,以便實現不同的接口。這聽不起來感覺不太容易實現,但有了設計模式,實現起來還是挺容易的。首先回

原创 設計模式-裝飾者模式

首先簡單介紹一下裝飾者模式是個什麼樣的結構? 裝飾者模式的結構設計很巧妙,可以動態添加對象功能。它遵循“合成/聚合複用原則”,這個原則的思想是代碼複用應該儘可能使用委託,而不是繼承。因爲繼承是一種緊密耦合,任何父類的改動都會影響其子類

原创 JVM內存區域與內存溢出異常

對於Java程序員來說,Java虛擬機是再熟悉不過了,尤其是對Hotspot VM最熟悉了,因爲它是Sun JDK和OpenJDK中所帶的虛擬機,也是目前使用範圍最廣泛的Java虛擬機。相比C、C++開發人員來說,有了JVM,Java

原创 Java線程池的使用

概述:在一些場景下,我們使用多線程去解決一些高併發的問題,實現起來很方便。但是會有一些問題,如果併發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,這樣頻繁創建線程就會大大降低系統的效率,因爲頻繁創建線程和銷燬線程需要

原创 生產中遇到的Java多線程問題

1. 問題場景:前幾天一位同事分享了一段代碼,這段代碼在線上偶爾會報空指針異常,雖然是一個簡單的NullPointerException,卻是一個很不容易發現的多線程問題導致的,我們一起先來看下代碼(這是我復原的測試代碼,並非和生產一致,

原创 多線程中ThreadLocal詳解

1. ThreadLocal是什麼,是用來解決什麼問題的? ThreadLocal從字面意思來理解,是一個線程本地變量,也可以叫線程本地變量存儲。有時候一個對象的變量會被多個線程所訪問,這個時候就會有線程安全問題,當然可以使用syn

原创 使用JWT實現單點登錄(完全跨域方案)

首先介紹一下什麼是JSON Web Token(JWT)? 官方文檔是這樣解釋的:JSON Web Token(JWT)是一個開放標準(RFC 7519),它定義了一種緊湊且獨立的方式,可以在各方之間作爲JSON對象安全地傳輸信息。此