原创 spring源碼分析之分析入口

目錄 1.引言 2.spring5架構 2.1    核心容器(Core Container) 2.2    AOP和設備支持 2.3    數據訪問及集成 2.4    Web 2.5    Messaging 2.6    Test

原创 解決saturn失效分片立即執行後後臺分片項顯示不正確問題

背景: 官方的saturn組件,在失效分片後不能立即執行任務,需要等當前正常的分片執行完之後纔可以執行,而且失效分片單個executor上一個一個執行,而我們的需求是立即執行,且是並行執行失效分片。解決方案見:解決saturn execu

原创 解決saturn executor失敗分片轉移立即執行之源碼分析

最近在項目使用saturn過程中,遇到了一些原框架解決不了的問題,好在這個框架是開源的,通過對源碼做了分析,找到了解決辦法,有點囉嗦了,來點直接的。 首先,saturn使用的版本是3.3.1,源碼自行下載:https://github.c

原创 Elasticsearch升級之River替代方案(分佈式任務調度與動態解析日誌)

近期在項目中遇到一個問題,解決此問題,需要改變架構方案,以下爲方案具體內容 目錄 1.痛點 2.如何解決 3.替代river技術方案調研 4.saturn運行原理 5.動態解析方案 6.saturn結合spring-boot測試實例 7.

原创 mysql更新死鎖問題

最近在使用ThreadPoolTaskExecutor實現多線程過程中,在對數據表的更新操作時,遇到了行級鎖問題,即多個更新的語句同時執行時,出現了因併發導致一條更新佔用了該行的鎖,導致另一條更新無法獲取鎖,更新失敗。 表結構如下 CRE

原创 基於elasticsearch官方提供的組件實現增刪查等操作

目前主要的使用連接elasticsearch的組件有:transport,jest和官方的java high level rest client三種,這三種的對比如下圖:   Java high level rest client

原创 elasticsearch低版本根據時間範圍刪除數據實例

今天遇到一個有趣的問題,那就是如何實現在elasticsearch低版本刪除某段時間範圍內的es數據。 高版本的ES(比如elasticsearch:5.5)有_delete_by_query方法,詳細請看api:https://www.

原创 javascript原型詳解(轉載)

一、原型 原型是 JavaScript 面向對象特性中重要的概念,在絕大多數的面嚮對象語言中,對象是基於類的(例如 Java 和 C++ ),對象是類實例化的結果。而在JavaScript 語言中,沒有類的概念①,對象由對象實例化。打個比

原创 mysql樂觀鎖和悲觀鎖詳解

相信很多朋友在面試的時候,都會被問到樂觀鎖和悲觀鎖的問題,如果不清楚其概念和用法的情況下,相信很多朋友都會感覺很懵逼,那麼面試的結果也就不言而喻了。 那麼樂觀鎖和悲觀鎖到底是個什麼東西,用它能來做什麼呢? 相信大家都遇到這種場景,當很多人

原创 java泛型應用詳解

在平時的開發過程中,很多哥們不清楚泛型的概念以及用法,所以很多時候,寫了很多沒必要的代碼,又或者,看到別人在使用泛型的時候,感覺對方很牛逼。。。 其實,泛型沒你想象的那麼難,follow me一、爲什麼要使用泛型 我們來看個簡單的實例

原创 MyBatis框架及原理分析(轉載)

MyBatis 是支持定製化 SQL、存儲過程以及高級映射的優秀的持久層框架,其主要就完成2件事情: 封裝JDBC操作 利用反射打通Java類與SQL語句之間的相互轉換 MyBatis的主要設計目的就是讓我們對執行SQL語句時對輸入輸出的

原创 JVM內存管理及JAVA性能調優相關筆記

JVM篇 1.JVM內存分配:方法區、Java棧、本地方法棧、堆、程序計數器。方法區:在方法區中,存儲了每個類的信息(包括類的名稱、方法信息、字段信息)、靜態變量、常量以及編譯器編譯後的代碼等。Java棧:用來存儲方法中的局部變量(包括在

原创 繼續寫博客的緣由

        記得第一次創建博客是2013年9月的時候,當時自己申請的域名和購買虛機,當初建博客的目的,就是把學習網站搭建和運營相關的知識應用起來,平時寫寫技術文章跟大家一起分享。網站上線之初,很是興奮,把自己學習的技術知識發到博客上。

原创 spring事務隔離級別、傳播機制以及配置實現

我覺得自己寫的未必有別人的好、全,所以直接把別人鏈接貼過來:https://blog.csdn.net/zht741322694/article/details/78676964

原创 Spring三大核心思想詳解

spring核心思想分三大類:控制反轉(IOC),依賴注入(DI)和麪向切面(AOP)。 控制反轉 通俗講,控制權由應用代碼中轉到了外部容器,控制權的轉移,是所謂反轉。也就是說,正常我們都是新建對象,纔可以調用對象。現在不需要了,交給容器