原创 MySQL的存儲過程中使用遊標來接收查詢結果集

我們如果要在MySQL的存儲過程中遍歷一個查詢語句的結果集,需要使用到遊標cursor(SQL server中可以定義表類型的變量Table,但MySQL中不行,只能用遊標)。 假設我需要從 tb_stu 這張表中查詢出所有記錄

原创 Java使用freemarker生成word文件

首先聲明我的項目是一個web項目,生成的word文件直接通過response響應發送給前端。如果不是web項目的話可以像網上的其他教程一樣將生成的word保存在本地。 要利用freemarker生成word文檔,首先需要創建wor

原创 用Jedis獲取Json字符串時候遇到的一個坑

記錄以下今天下午遇到的一個坑,一下午時間全花在這個問題上了。。。 在用Jedis從redis中獲取到Json字符串後要將它反序列化爲對象。結果拋出了異常。第一個懷疑是這個Json字符串是不是格式有問題,我將這個Json字符串在控制

原创 Map中的merge,compute,computeIfAbsent,computeIfPresent

merge merge表示合併,它將傳入的value值和Map中特定的舊value按照自定的計算規則進行合併。 merge方法接受三個參數:key,value和BiFunction函數對象: key:要與計算結果值關聯的鍵,同時

原创 redis集羣配置主從同步和哨兵機制

文章目錄主從同步概念主從配置主從同步原理哨兵機制概念哨兵配置 主從同步 概念 redis的主從同步是指集羣中多個redis之間的數據同步。從redis會將主redis上的數據同步過來,因此訪問從redis就可以獲取到主redis上

原创 Spring Cloud學習筆記1 服務註冊與發現組件Eureka

1.簡介 我們知道微服務系統由很多個服務單元組成,比如一個電商系統平臺,可能會把賬戶業務,會員業務,商品業務,訂單業務等業務模塊拆解出來作爲單獨的微服務單元,這些微服務之間互相依賴,且數量越多,管理維護的難度就越大,所以一套微服務

原创 Zuul網關導致請求頭信息丟失的解決辦法

在使用zuul網關的時候遇到了一個問題,我的請求頭中的Authorization信息經過zuul之後就被丟失了。按照網上找來的解決辦法,我給網關服務加了一個過濾器: @Component public class WebFilte

原创 記一次docker更換阿里雲鏡像源遇到的坑

今天第一次給我的CentOS7安裝了docker,安裝完成後想拉取一個mysql的鏡像。結果用docker search mysql的時候提示我: Error response from daemon: Get https://i

原创 Spring Cloud學習筆記2 構建高可用的Eureka Server集羣

在上一篇博客中我們介紹了搭建Spring Cloud註冊與消費模塊。但是在實際項目中,可能有較多的微服務實例,如果只搭建單臺Eureka Server,這時候Eureka Server 就會承擔非常高的負載壓力,我們知道微服務實例

原创 關於sql中子查詢not in 後面不能爲null的理解

平時在sql查詢中都要注意not in後面的條件中不能有null,如果有null就沒有返回結果了,而in後面有null依然可以有返回結果。 說下我的理解: in後面的子句可以理解爲or拼接 比如 select * from t_s

原创 樂觀鎖的思想和其在Java中的實現

首先我們要明白,所謂的樂觀鎖和悲觀鎖其實都是一種思想,基於思想,可以做出很多種實現。 樂觀鎖與悲觀鎖的概念非常好理解。 悲觀鎖 當一個公共變量(比如一個有狀態的單例對象)被多個線程訪問的時候,我們假設每個線程都會去修改這個公共變量

原创 配置tomcat成爲文件服務器

我們在開發網站的時候時常會遇到前端需要獲取一些圖片或者其他文件資源,比如前端發來一個請求http://localhost:8080/upload/WechatIMG14.jpeg,我們後端就會把WechatIMG14.jpeg圖片

原创 RedisTemplate使用scan代替keys方法

我們知道Redis是單線程的,keys命令會使線程阻塞,並且keys是以遍歷的方式實現的,時間複雜度是 O(n),Redis庫中的key越多,查找時阻塞的時間越長,如果這時候有大量的業務請求送達Redis,有可能導致Redis崩潰

原创 在idea上遠程調試java項目

要debug遠程服務器上的項目其實很簡單,就兩個步驟: 在啓動服務端項目的時候同時也開啓debug端口 在idea項目中配置遠程調試相關的配置,並用debug模式啓動 按照以上思路,我們進行詳細的操作說明 首先我們準備一個測試

原创 Linux定期備份數據的實現

Linux上定期備份還是很簡單的,主要思路就是先編寫一個備份數據的sh腳本,然後用crontab去定期執行這個腳本。 按照以上思路我們開始實際操作 1.我們找到我們要備份的目錄,記住它的路徑,比如我這裏選擇的是我電腦上的/opt/