原创 線程利器:ThreadLocal

引言 這是JWT認證條件下的getCurrentLoginUser代碼實現,請分析性能: @Override @ApiOperation("獲取當前登錄的用戶") public User getCurrentLoginUser() {

原创 神坑中間件:spring-boot-starter-websocket

引言 簡易地使用WebSocket時,使用spring-boot-starter-websocket沒什麼問題,雖然路由部分設計得有些缺陷,但不影響正常使用。 但當我使用spring-boot-starter-websocket實現複雜業務

原创 JPA 大小寫敏感問題

引言 被舍友問了JPA的查詢問題,問題問的我一臉懵逼。 天真的我順手搭了一個小的JPA項目試一試。 探究 嘗試 測試環境:spring-boot 2.1.5.RELEASE、mysql 5.6。 數據表中加了一條數據,用戶名是admin

原创 flyway 實踐

引言 最近重拾了計量項目,幾個月不寫,發現有好多的新知識需要學習。 爲了實現數據庫的版本遷移,幾乎所有的生產項目都用上了flyway,但是華軟項目至今沒有配置。便決定拿出一個晚上學習並配置flyway。 嘗試 設計 之前爲了項目的方便快捷,

原创 no-vnc 與 node.js 實現 web 遠程桌面

引言 項目需求,要求在瀏覽器端進行遠程桌面的訪問,如圖所示: 實現遠程桌面,需要依賴VNC協議: VNC(Virtual Network Computing),爲一種使用RFB協議的屏幕畫面分享及遠程操作軟件。此軟件藉由網絡,可發送鍵盤與

原创 Java基礎(筆記)

引言 在學習《Java編程的邏輯》一書時記錄的一些筆記,掃清了一些Java基礎的知識盲區,感謝作者馬俊昌老師。 數據類型 序號 數據類型 大小(位) 包裝類 默認值 數據範圍 1 byte 8 Byte 0 -128 ~ 127

原创 數據庫鎖(筆記)

引言 MyISAM不支持事務。 MyISAM與InnoDB關於鎖方面的區別是什麼 MyISAM默認使用的是表級鎖,不支持行級鎖。 InnoDB默認使用的是行級鎖,也支持表級鎖。 讀鎖/共享鎖:其他session可以讀,但不能寫。 寫鎖/排他

原创 數據庫索引(筆記)

引言 最簡單的數據查詢方式是全表掃描,找出符合條件的數據。 索引的設計靈感來源於字典,根據關鍵信息可以快速定位。 爲什麼要使用索引 索引能夠避免全表掃描,提升檢索效率。 什麼樣的信息能成爲索引 主鍵,唯一鍵等能夠讓數據具備一定區分度的字段。

原创 B樹、B+樹

引言 最近在複習數據庫索引相關的知識,B+樹是數據庫索引中十分重要的數據結構。 學習過程中,發現對B樹和B+樹之類的數據結構知識很欠缺,一起來回顧一下。 學習 索引 如果沒有索引,我們想從數據庫中查詢數據,需要遍歷整個表。 如果表中的數據量

原创 Java 迭代器引發 ConcurrentModificationException

引言 ConcurrentModificationException這個異常大家都很熟悉,當在forEach進行刪除時都會出現該異常。 如果你還不瞭解,請參考澍澍的博客:關於在list循環的過程中進行刪除的處理 - 晨澍的博客 Concu

原创 我對 SpringMVC 的一些誤解

引言 剛考完期末,再也不用考試啦!!! 最近學習了慕課網的實戰課《手寫SpringMVC,劍指開源框架靈魂》。 spring-boot太過智能了,智能到我們完全不用去管底層是如何實現的,都可以很輕易地去開發一款web應用。 最近將本課程和

原创 JPA Session 一勞永逸

引言 再回顧一下問題場景: Iterable<Teacher> teachers = teacherRepository.findAll(); for (Teacher teacher : teachers) { logger.d

原创 企業微信登陸

引言 用戶登陸時,原設計是使用工號加密碼進行登陸,只是工號不好記,爲了推廣,設計了企業微信登陸。 企業微信中可以設置自建應用,其實就是內嵌了一個Chrome,點擊左側的自建應用,會在右側瀏覽器顯示相關應用,所有工作都放在企業微信中,需實現

原创 Mac 開發環境配置

引言 本週收到了新的Mac mini,感謝潘老師。 然後開始了安裝開發環境的生涯,相較於Linux和Windows,還是挺簡單的。 配置 學習軟件 微信、釘釘、印象筆記,少哪個都不行。 這裏向大家推薦印象筆記,真的是學習神器,一鍵收藏最好

原创 裝飾器、代理模式與Spring AOP

引言 翻開to-do,註解認證中答應大家要講解代理模式。 正好遇到了一道這樣的題:拋開Spring來說,如何自己實現Spring AOP? 就喜歡這樣的題,能把那些天天寫增刪改查從來不思考的人給PK下去,今天就和大家一切學習代理模式與Sp