原创 Git提交忽略request.js

這種方式可以保證遠程庫和本地庫都有文件,但是本地庫如何修改都不會被提交。 git update-index --assume-unchanged abc/aaa/request.js   恢復 git update-index --no

原创 maven打包命令—P,指定springboot項目的配置文件

適用於jekins配置打包環境。線下我們使用的dev環境,線上,測試環境就有不同的配置文件了。只需要在jekins的打包命令加入-P prod,就可以了。prod對應相應的環境。 但是還需要在maven的配置文件<project>節點裏面

原创 (手擼)SringBoot統一返回格式的接口數據封裝成excel表格並且輸出流下載

package com.lalala.ami.common; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import

原创 記一次mysql死鎖問題

這是我第一次遇到mysql死鎖問題,通過這次死鎖問題的分析,我對數據庫的鎖和有了更詳細的認識。漫漫長路,一點點走。 這是我的demo復現,出現的原因是在事務裏面循環更新數據,注意,此時我的mysql默認事務隔離級別是提交讀,且name和s

原创 SpringBoot寫入Redis數據庫Hash類型數據並且設置過期時間

Java對於Redis的封裝不是能滿足所有的業務需求的,但是我們可以通過lua腳本來直接向Redis發送命令。 下面這兩句話,可以實現向Redis插入Hash數據,並且設置整個Hash的過期時間。 putIfAbsent是set NX的

原创 Docker學習筆記1,Docker創建Tomcat容器並且部署web項目。

使用docker部署倆tomcat,模擬負載均衡。 1.首先去這個網站查看你需要下載的版本對應的標籤https://hub.docker.com/u/library 2.然後docker pull tomcat:你的標籤。當然,不加標籤的

原创 Mysql查詢記錄加上固定長度的編號,right函數和concat函數的結合使用。

現在有這麼個需求,mysql裏面有了已經排序好的編號,1,2,3,4,5.....1100,不超過6位數。我需要做的是把這些編號變成固定長度的形式。 比如11號,變成固定長度爲6,就是前面填充4個0————000011; 以前我都是用程序

原创 Mysql的隱式類型轉換

注意,數字類型的索引,查詢時可以加雙引號,也可以不加,都會使用索引 但是字符類型的索引,查詢時必須加雙引號,否則不會使用到索引 所以,儘量不要發生類型隱式轉換。

原创 Mysql的聯合索引最左匹配原則小記

mysql的聯合索引,也稱爲組合索引,指的是建立一個索引的時候選擇多個字段。 可能我們都聽說過聯合索引的最左匹配原則,今天我們就這個主題實戰討論一下。 使用工具:navicat。 創建表: 我不喜歡上傳建表語句,那樣不直觀。 創建聯合索引

原创 Docker學習筆記2,創建Nginx容器並且實現反向代理和負載均衡配置

首先還是 docker pull nginx 然後根據剛剛pull下來的image創建容器,docker run -p 8800:80 --name mynginx -d nginx 然後使用docker ps查看有木有這個容器(可能會看

原创 SpringCloud的Feign接口正確開發姿勢

微服務中,直接在各模塊之間暴露的接口上標註@FeignClient是不合規範的。 像這樣。應該是不被允許的。 正確使用姿勢是,各模塊暴露的接口應該是純粹的 public interface RpcService { @GetMa

原创 Windows上模擬MySQL主從設置,讀寫分離

對於互聯網架構來說,MySQL讀寫分離是很重要的。所以今天我決定在我自己的電腦上模擬下。 我一開始本以爲可以用一個MySQL服務,建立兩個數據庫來模擬。但是網上的教程都是修改MySQL的配置文件,所以我只好另外又安裝了個MySQL。爲了避

原创 Idea搭建SpringBoot+Maven多模塊項目

工作以後我接觸到了maven分模塊的正確使用姿勢,我花了一整天想自己在idea上自己搭建一個架子,終於弄好了。 先說一下正確的使用姿勢。 service層應該是沒有啓動類,無法啓動的一些java文件。api模塊迭代更新,對外提供rpc的接

原创 java關鍵字synchronized的內存可見性

以前保證內存可見性都是使用volatile關鍵字,下面代碼的執行結果,讓我猜到了synchronized關鍵字可能會刷新線程的工作內存。 原來synchronized關鍵字也可以保證變量的內存可見性。因爲, 1、線程解鎖前,必須把共享變量

原创 藉助java的LinkedList實現插入排序

List<Integer> a=new ArrayList(); a.add(1); a.add(2); a.add(7); a.add(7); a.add(0); a.add(3); a.add(4); a.add(212); Lis