原创 mysql使用mycat讀寫分離時,報 Connection is read-only. Queries leading to data modification ... ...

解決辦法:jdbc的url連接後加參數useLocalSessionState=true

原创 重試機制(基於spring-retry)的簡單使用

github地址https://github.com/caixingjava/retry-learn, 如果不依賴spring框架,可基於源碼進行改造,源碼地址: https://github.com/spring-projects/sp

原创 MYSQL對千萬級數據的快速遷移(10個G左右)

MYSQL對千萬級數據(10個G左右)的遷移,耗時控制在半小時內 1.show variables like '%secure%';查看 secure-file-priv 當前的值是什麼 2.如果沒有可以在my.ini(windows)m

原创 數據庫發生死鎖的解決思路

1.查詢information_schemal庫下的innodb_lock表,查詢出lock的trx_id 2.查詢information_schemal庫下的innodb_trx表,找出對應trx_id的mysql的thread_id

原创 輕量級內存映射數據庫LMDB(快如閃電)

LMDB爲一個輕量級的,內存映射數據庫,存儲結構類似於redis,採用key-value方式存儲,數據結構爲字節數組 LMDB能夠提供:     1. 事務(完整的ACID語義)     2. 有序鍵(支持非常快速的基於指針的迭代)   

原创 java遠程調試

補充:java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8990 -jar Test_

原创 spring高級話題——定時任務

自spring3.1開始,其計劃任務實現非常簡單,首先,通過配置類註解@EnableScheduling來開啓對計劃任務的支持,然後在執行計劃任務的方法上註解@Scheduled,聲明這是一個計劃任務。@Scheduled註解支持很多屬性

原创 SpringBoot之整合Mybatis

1.添加數據庫及相關數據庫表(此處數據庫爲mysql)DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT,

原创 根據現有項目,使用maven生成項目模板

1. 首先需要一個完整的,可以運行的項目2. 基於完整的可以運行的項目,在其根目錄,運行命令:    mvn archetype:create-from-project3. 進入到項目目錄的target/generated-sources

原创 Spring常用配置——Bean的scope

Scope描述的是Spring容器如何新建Bean的示例的,Spring的scope有以下幾種,通過@Scope註解來實現。(1)Singleton:一個Spring容器中只有一個Bean的實例,此爲Spring的默認配置,全容器共享一個

原创 Java開發環境的性能優化(windows)

軟件開發中java開發環境的性能優化1.windows個性化選擇經典模式2.計算機-->右鍵屬性-->高級選項卡-->性能成組框-->設置-->視覺效果選項卡-->調整爲最佳性能+屏幕字體平滑-->確定3.修改虛擬內存(16G內存無需設置

原创 互聯網架構高併發

一、什麼纔是高併發    高併發是互聯網分佈式系統架構設計中必須考慮的因素之一,它通常是指,通過設計能夠保證系統同時能處理很多請求。    高併發相關指標有:響應時間、吞吐量、查詢率(QPS)、併發用戶數等。    響應時間:系統對請求作

原创 C語言基礎之轉義字符

C語言常用的轉義字符及含義如下表所示:轉義字符轉義字符含義ASII值(10進制)\a響鈴(BEL)007\b退格(BS),將光標當前位置移動到前一列008\f換頁(FF),將光標當前位置移動到下一頁開頭012\n換行(LF),將當前光標位

原创 Spring常用配置——SpringEvent

Spring的事件(Application Event)爲Bean之間的消息通信提供了支持。當一個Bean處理完一個任務之後,希望另一個Bean知道並能做相應的處理,這是我們就需要讓另外一個Bean監聽當前Bean所發送的事件Spring

原创 spring基礎之AOP

AOP:面向切面編程,相對於OOP面向對象編程Spring中的AOP的存在目的是爲了解耦。AOP可以讓一組類共享相同的行爲。在OOP中只能通過繼承類和實現接口,來使代碼的耦合度增強,且類繼承只能爲單繼承,阻礙更多行爲添加到一組類上,AOP