那就在停止的時候, 記錄一下 task name 或者 task id
如何優(yōu)雅地重啟Spring Scheduler定時任務(wù)是一個比較常見的功能,在某些情況下,需要重新啟動或者是重設(shè)Scheduler Job,但是官方的API上都沒有提供類似restart的方法,那該如何完成此需求呢? S...
那就在停止的時候, 記錄一下 task name 或者 task id
如何優(yōu)雅地重啟Spring Scheduler定時任務(wù)是一個比較常見的功能,在某些情況下,需要重新啟動或者是重設(shè)Scheduler Job,但是官方的API上都沒有提供類似restart的方法,那該如何完成此需求呢? S...
背景 CentOS服務(wù)器上,我們用Systemd部署了一個SpringBoot服務(wù)。這個服務(wù)會用ProcessBuilder去調(diào)用機(jī)器上一個C++的可執(zhí)行文件。 問題描述 S...
線程池因為會有線程重用,最好在線程任務(wù)結(jié)束之前清除ThreadLocal數(shù)據(jù),以防臟數(shù)據(jù)或者潛在的內(nèi)存泄漏
深入理解Threadlocal前言 并發(fā)是Java開發(fā)中繞不開的一個話題。現(xiàn)代處理器都是多核心,想要更好地榨干機(jī)器的性能,多線程編程是必不可少,所以,線程安全是每位Java Engineer的必修課。 應(yīng)...
前言 并發(fā)是Java開發(fā)中繞不開的一個話題?,F(xiàn)代處理器都是多核心,想要更好地榨干機(jī)器的性能,多線程編程是必不可少,所以,線程安全是每位Java Engineer的必修課。 應(yīng)...
前言 為了滿足對不同情況的垃圾回收需求,從Java從版本1.2開始,引入了4種引用類型(其實是額外增加了三種)的概念。本文將詳細(xì)介紹這四種引用。 Java 4種引用類型 Ja...
定時任務(wù)是一個比較常見的功能,在某些情況下,需要重新啟動或者是重設(shè)Scheduler Job,但是官方的API上都沒有提供類似restart的方法,那該如何完成此需求呢? S...
背景 JMX Java Coder們都知道,Java提供了JMX(Java Management Extensions) attach的機(jī)制(如JConsole),可以動態(tài)獲...
背景 我們有一個Plugin的管理系統(tǒng),可以實現(xiàn)Jar包的熱裝載,內(nèi)部是基于一個Plugin管理類庫PF4J,類似于OSGI,現(xiàn)在是GitHub上一個千星項目。以下是該類庫的...
背景 眾所周知,Java中的SimpleDateFormat不是線程安全的,在多線程下會出現(xiàn)意想不到的問題。本文將解析SimpleDateFormat線程不安全的具體原因,從...
引文 思考一個問題:從大量數(shù)據(jù)里面如何高效率地去重?有過一點編程經(jīng)驗的人都知道,可以通過Set這種數(shù)據(jù)結(jié)構(gòu)來做到。比如HashSet,采用了Hash算法,可以在O(1)的復(fù)雜...
1. 問題描述 我們的工程部署在兩個DC上,雙活。兩邊的服務(wù)器以及邏輯都是一樣的,也分別都有自己的業(yè)務(wù)。數(shù)據(jù)庫用的Oracle,之間有同步,用的是Quest的DB同步產(chǎn)品sh...
1. 問題描述 看到Redis報了OOM的錯誤,而且服務(wù)響應(yīng)速度非常慢,頁面上丟了很多數(shù)據(jù),趕緊起來查看問題。 2. 問題排查 我們的系統(tǒng)架構(gòu)是雙邊雙活的,兩個DC都會有數(shù)據(jù)...
1 概述 我們每天都在用手機(jī)或者電腦等電子設(shè)備瀏覽網(wǎng)頁,收發(fā)郵件。有沒有想過為什么你在瀏覽器里面輸入一個網(wǎng)址,就能打開一個頁面?為什么你寫了一封電子郵件,點擊發(fā)送,對方就能收...
目錄 概述 總體流程 細(xì)節(jié)分析3.1. 轉(zhuǎn)化 BeanName3.2. 合并 RootBeanDefinition3.3. 處理循環(huán)依賴3.4. 創(chuàng)建實例3.5. 注入屬性3...