原创 Spring cloud gateway 路由404排查

一、背景     最近做網關重構,技術選型爲spring cloud gateway,採用consul作爲配置中心和註冊中心,秉承不重啓原則,網關內部實現動態路由機制,採用定時任務定時更新網關路由信息。   二、服務信息    微服務網關

原创 tomcat restart腳本

#!/bin/bash echo 'begin copy...' cd `dirname $0` BIN_DIR=`pwd` cd .. DEPLOY_DIR=`pwd` LOGS_DIR=$DEPLOY_DIR/logs if

原创 零拷貝的原理

一、傳統數據拷貝方式 ①一個read系統調用後,DMA執行了一次數據拷貝,從磁盤到內核空間 ②read結束後,發生第二次數據拷貝,由cpu將數據從內核空間拷貝至用戶空間 ③send系統調用,cpu發生第三次數據拷貝,由cpu將數

原创 docker容器jstack排查

1、sudo su 暫時申請root權限; 2、docker ps | grep 服務名 查找指定images的鏡像; 3、docker exec -it 鏡像id /bin/bash 進入容器 4、top 獲取java進程pid

原创 二叉查找樹與紅黑樹

二叉查找樹 1、左子樹上所有的節點的值均小於或等於它的根節點的值; 2、右子樹上所有的節點的值均大於或等於它的根節點的值; 3、左右子樹也一定分別是二叉排序樹; 紅黑樹(平衡二叉樹) 1、節點是紅色或黑色; 2、根節點是黑色

原创 git命令使用

git remote set-url origin git@xxx git fetch origin dev //獲取遠程dev分支的修改 git merge origin dev // 合併遠程dev分支 git pull o

原创 linux啓動jar

linux啓動jar nohup java -jar xxx.jar -Dspring.config.location=application.yml > /dev/null 2>&1 & nohup 表示不掛斷運行命令,當賬戶退

原创 tomcat使用線程池配置高併發連接

1:配置executor屬性 打開/conf/server.xml文件,在Connector之前配置一個線程池: <Executor name="tomcatThreadPool" namePrefix=

原创 mysql執行計劃

一、EXPLAIN語法 語法:EXPLAIN SELECT 1、EXPLAIN EXTENDED SELECT 將執行計劃“反編譯”成SELECT語句,運行SHOW WARNINGS 可得到被MySQL優化器優化後的查詢語句

原创 JVM內存模型

原创 (轉載)innodb關鍵特性

innodb關鍵特性 插入緩衝(insert buffer) 兩次寫(Double write) 自適應哈希索引(adaptive hash index) 異步io(Async IO) 刷新領接頁(Flush Neighbor P

原创 (轉載)索引優化

#1.最左前綴匹配原則,非常重要的原則, create index ix_name_email on s1(name,email,) 最左前綴匹配:必須按照從左到右的順序匹配 select * from s1 where name

原创 mybaits用到的設計模式

Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder; 工廠模式,例如SqlSe

原创 Java面試題集三(dubbo)

可另外參考 https://blog.csdn.net/zl1zl2zl3/article/details/83721147 dubbo有哪些組件,必選的有哪些 Dubbo需要四大基本組件:Registry、Monitor、Pro

原创 Java線程池

Java通過Executors提供四種線程池: 1、newCachedThreadPool創建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閒線程,若無可回收,則新建線程。 2、newFixedThreadPool創建一個