原创 釘釘scheme

dingtalk://dingtalkclient/page/link?url=<UrlEncode後的url>&pc_slide=true

原创 一個網站的演進之路

1,應用和數據庫分機部署 2,應用服務器集羣 3,軟硬件負載均衡 4,解決統一session 5,數據庫讀寫分離 6,緩存 7,分佈式存儲,redis等非關係型數據庫 8,拆庫,按業務垂直拆分數據,專庫專用。水平拆分數據庫表,shardi

原创 Java中 synchronized 關鍵字的理解

synchronized 關鍵字的理解 在Java中,synchronized 是一個重量級的控制併發的關鍵字。 這個關鍵字可以保證併發過程所必須的“原子性”,“可見性”,“有序性” 一,用法: 在方法內加鎖: synchroni

原创 深入淺出理解鎖之—— AbstractQueuedSynchronizer

深入淺出理解鎖之—— AbstractQueuedSynchronizer 在Java中,多線程的情況下需要鎖來保證數據的安全。 鎖一般分爲兩類:sychronized 和 Lock sychronized利用的是指令級別的mo

原创 linux下使用cat打開文件亂碼

cat test.txt | iconv -f GBK -t UTF-8 使用此命令即可

原创 Spring中類路徑下文件讀取方式

InputStream is = 當前類名.class.getClassLoader().getResourceAsStream("test.properties"); InputStream is = Class.class.getRe

原创 如何優雅的判空

如何優雅的判空   Scene1 判空並操作: 先看一個例子: package *; ​ import lombok.Data; ​ import java.util.Random; ​ public class Test { ​  

原创 如何畫架構圖之C4模型畫法

如何畫架構圖之C4模型畫法 之前一直看別人畫架構圖,自己畫的很爛,最近看了一點點資料,整理了下,分享出來,希望對別人有幫助,如果有不對的地方歡迎指正。 C4架構圖要解答的問題: 1,爲哪些用戶提供什麼服務? 語境圖 2,完成這個系統

原创 mac的ideal終端中mvn命令不生效 commang not found

可能是mac的終端使用了zsh,zsh的環境變量沒配置 vim ~/.zshrc 增加環境變量即可 修改後source ~/.zshrc 生效

原创 操作系統怎麼啓動

操作系統是怎麼啓動的? 首先,計算機啓動時會先加載bios(基本io系統),完成後加載BootLoader(硬盤第一個扇區,512字節,0fc00),然後由BootLoader來加載os。然後os就可以在內存中

原创 springBoot JunitTest的使用以及如何在junit啓動前加載

springBoot JunitTest的使用 @SpringBootTest(classes = {Application.class},webEnvironment = SpringBootTest.WebEnvironment.

原创 一次C端線上緩存問題的總結

一次C端線上緩存問題的總結 做C端需求的第二週,有個小需求,需要將從中央配置中心的拿回來的數據做一個緩存,保證數據訪問快速。 由於項目中直接有ehcache,集成spring-boot,所以開發起來比較簡單,只是隨手加上了@Cache

原创 mac 上開發需要的軟件

mac 上開發需要的軟件 軟件類 ideal sourcetree typora scroll reverse xmind zsh + iterm charles sublime postman Alfred3 navicat s

原创 Base64 加密算法原理

Base64 加密算法原理 Base64是網絡上最常見的用於傳輸8Bit字節碼的編碼方式之一,Base64就是一種基於64個可打印字符來表示二進制數據的方法。 因爲在內存中每個字節佔8位,即 1 byte = 8 bit,所有的數

原创 ToDo

ToDo 最近瞎忙,有幾篇博客想寫,但是一直沒時間,記錄下,後續補上。 客戶端負載均衡和服務端負載均衡 Base64加密算法的實現原理