原创 shutdownhook

Runtime.getRuntime().addShutdownHook(Thread)

原创 spring boot啓動時運行/初始化

參考:https://blog.csdn.net/u011649691/article/details/89196815 1、實現ApplicationRunner,可以進行數據庫操作,可以指定加載順序 @Component pu

原创 fieldupdater簡介

fieldupdater是指在java.util.concurrent.atomic包中的AtomicIntegerFieldUpdater/AtomicLongFieldUpdater/AtomicReferenceFieldU

原创 git從已有目錄進行初始化推送

git init//初始化一個git 本地倉庫此時會在本地創建一個 .git 的文件夾,一般這個文件夾是隱藏的 git remote add origin https://url //添加遠程倉庫到本地,url是遠程倉庫的地址 g

原创 mysql和oracle的分組排序sql

oracle的分組排序: select * from ( select row_number() over(partition by ms.school_id order by ms.create_time desc

原创 Mysql 父子集查詢

1.通過子查詢父集 SELECT T2.* FROM ( SELECT @r AS _id, (SELECT @r := parent_code FROM city_info

原创 負載均衡方案---由簡單到複雜

1、最簡單單點nginx做http或者tcp的負載均衡 2、雙臺(多臺)nginx+keepalived做雙機熱備,提高可用性 3、將負載均衡由7層轉4層。七層應用負載的好處,是使得整個網絡更"智能化",4層的負載均衡性能要高一些

原创 在線bug查找

ThreadDump查看線程狀態 HeapDump查看內存,線程調用鏈上棧的內容(僅限於對象) BTrace:動態跟蹤工具,工作原理是通過instrument+asm來對正在運行的java程序中的class類進行動態增強。使用Bt

原创 記一次服務器宕機原因和總結

1、服務轉到我手中維護後發現服務會間隔性宕機。 2、詢問之前維護人員情況被告知是由於攻擊併發量高導致連接被佔滿,服務器拒絕服務導致的。 3、遂按此原因進行整改,添加限制邏輯使攻擊者的連接快速失敗。 4、在深夜測試後上線。 5、上線

原创 學習gradle----基礎語法

Gradle 裏的任何東西都是基於這兩個基礎概念: projects ( 項目 ) tasks ( 任務 ) 一、入手項目,hello world: 1、在目錄中新建build.gradle 的文件 2、在文件中寫入 task h

原创 學習gradle----準備階段

https://dongchuan.gitbooks.io/gradle-user-guide-/content/ 1、保證JDK是再對應的版本以上,至少是JDK6 2、下載平臺對應的gradle,貌似Linux & MacOS有

原创 編程中設定概率的方法

1、抽獎概率,有固定數量的獎項 生產獎池數組,利用隨機數抽取,抽取一個獎池中就少一個 2、概率事件,例如拋硬幣 利用random僞隨機函數生成0-1之間的數,若有20%的概率則可表示爲: x = random(); if x<0.

原创 spring外部配置

–Dspring.config.location=application.yml

原创 java反射修改final的屬性值

Field field = RedisOperationsSessionRepository.class.getDeclaredField("DEFAULT_SPRING_SESSION_REDIS_PREFIX"); field

原创 ORACLE獲取秒數

注意是用1970/1/1的8點: 用sql獲取當前秒數: SELECT (CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) - TO_DATE('01/01/1970 08:00:00','d