原创 spring自動注入類型不匹配問題

背景 微服務項目要整合合併,結果各種踩坑 問題描述 合併後的項目啓動應用報錯類型不一致,堆棧如下: 2020-07-02 11:32:04,008 ERROR [main] org.springframework.boot.Sp

原创 sqlite報錯database is locked

問題描述 由於超級管理員也看不到我們組織,也沒有權限更改用戶的角色或邀請新用戶,於是想要通過db直接修改數據的方式處理,無奈呀。。。操作流程如下: 登錄Linux服務器連接sqlite數據庫:sqlite3 /data1/gra

原创 同步鎖-Synchronization

thin lock 瘦化鎖=輕量鎖 同步與對象鎖 Java編程語言的一個主要優勢是它內建支持多線程程序。爲了同步訪問可以對一個對象加鎖使其可以被多個線程共享。Java提供了指定臨界代碼區(本文簡稱臨界區)的原語,臨界代碼區作用

原创 記一次java.lang.AbstractMethodError異常

問題 2019-11-27 21:58:16.151 ERROR 56176 --- [ main] o.s.boot.SpringApplication : Application

原创 dubbo telnet提示No such method

版本:dubbo-2.6.5.jar(公司做了包裝但是大同小異) 問題 老服務遷移至新服務。然後想用Telnet校驗接口邏輯,調用老服務的telnet命令正常,但是新服務提示方法不存在。。。命令如下 --舊服務 invoke co

原创 No primary or default constructor found for ...Pageable

問題 報錯如下Pageable沒有主要或默認構造器。環境:springboot 2.2.1.RELEASE 報錯日誌 2019-11-28 10:10:10.898 INFO 18608 --- [ main

原创 java彙編指令查看工具jitwatch

當前環境:jdk1.8,win10,64位 打印Java彙編指令 使用hsdis工具打印彙編指令,可以自行編譯或者下載已編譯好的dll或so文件,並將文件拷貝至jdk安裝目錄下的bin/server或者bin/client,例如:

原创 爲什麼Map的大小必須是2的冪

環境:jdk1.8 構造函數 首先我們看下HashMap構造函數,以及默認容量DEFAULT_INITIAL_CAPACITY設置,指定初始化容量的構造函數中對初始化容量做了2的冪處理,例如:指定17,處理後會變成32(向上取冪)

原创 JGit使用

pom依賴 <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> <versi

原创 java之線程可見性分析

問題描述 案例代碼1中屬性沒有volatile修飾,主線程修改其值,線程中是看不到其變更的,所以會一直死循環 案例代碼2中屬性同樣沒有volatile修飾,但是主線程修改其值,線程中看到了其變更的最新值,線程正常退出。爲什麼?

原创 JDT-core學習

通過AST訪問Java代碼 創建ASTParser解析Java代碼爲抽象語法樹(ASTNode)結構 繼承ASTVisitor類,重寫訪問AST各個節點 // 創建抽象語法書解析器,按照Java語言規範Java SE 11 E

原创 springboot整合mybatis原理

pom引入依賴 <!--mybatis與spring整合--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifac

原创 dubbo服務丟失問題

環境:dubbo-2.6.5(公司內部版本),註冊中心:zookeeper 問題描述 生產服務有兩個提供者,突然發現目前僅剩下了一個節點,登錄丟失的節點,查看服務是正常的,而且沒有任何error日誌。 問題分析 推斷1:dubbo

原创 Spring回調總結

Create 獲取SpringApplicationRunListener接口實現列表。讀取META-INF/spring.factories中配置的實現,默認:EventPublishingRunListener。獲取默認的監

原创 圖說springboot整合jetty-Request

一張巨無霸圖 將Selector與一個Channel註冊綁定得到一個SelectedKey 異步將EndPoint附加到SelectedKey。 channel數據準備就緒時喚醒select阻塞,根據SelectedKey的at