原创 Spring註解配置定時任務,運行時間超出間隔時間

@EnableScheduling @Scheduled有三種配置方式 cron fixedRate fixedDelay cron是固定時間進行處理 fixedRate任務執行間隔是兩次任務是開始點,如果執行時長超過間隔,那

原创 利用Redis對MySQL查詢做緩存提高查詢速度

MySQL配置 application.properties中配置數據源 spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&us

原创 Swagger詳解(SpringBoot+Swagger集成)

原文鏈接:https://blog.csdn.net/ai_miracle/article/details/82709949 Swagger-API文檔接口引擎 Swagger是什麼 Swagg

原创 ElasticSearch教程——彙總篇

原文鏈接:https://blog.csdn.net/gwd1154978352/article/details/82781731 ElasticSearch教程——彙總篇

原创 [MySQL實戰45講]MySQL筆記之數據庫基礎

MySQL查詢過程 連接數據庫 查詢緩存,若命中直接返回結果(不推薦使用,更新即失效,利用效率低,8.0已經刪除查詢緩存) 語法分析 語句優化 查詢存儲引擎 重建表 作用:1.重建索引 2.清除空洞,碎片整

原创 [vue小白]npm run運行以後無法關閉

開啓vue任務後,關閉git bash窗口發現端口仍然被佔用,程序沒有關閉 通過查詢資料,大部分都說ctrl+c就可以了,但是經過實踐發現並不可行,目測大部分都是複製粘貼的答案。 經過嘗試,最終發現可能只能暴力關閉了 1.在cmd

原创 [MySQL實戰45講]MySQL筆記之優化

使用長連接數據庫內存過大 原因:MySQL 在執行過程中臨時使用的內存是管理在連接對象裏面的。這些資源會在連接斷開的時候才釋放。所以如果長連接累積下來,可能導致內存佔用太大,被系統強行殺掉(OOM),從現象看就是 MySQL 異常

原创 Interceptor攔截器無法攔截根目錄的解決方法

今天發現了一個bug,首頁home.jsp的某一個值是通過攔截器攔截所有頁面,然後賦值的,然而我們的首頁是通過index.jsp直接引用首頁home.jsp代碼(如下),攔截器無法攔截。 <%@ include file="./W

原创 log4j2.xml配置筆記

轉載自阿豪聊乾貨:https://www.cnblogs.com/hafiz/p/6170702.htmlConfiguration Configuration 最外層節點 status:日誌打印級別 monitorinter

原创 JAVA反射使用父類的非public方法(getMethods()和getDeclaredMethods()區別)

getMethods()和getDeclaredMethods()區別 雖然是老生常談了,但是還是要先說一下兩者的區別。 getMethods():能夠獲取類的所有public方法,包括自身定義的以及從父類繼承的。 getDecl

原创 Echarts使用筆記--餅圖,柱狀圖

開始做前端了,感覺自己是要變成全棧工程師了。。。 今天使用了echart,用之前覺得好高大上好厲害,肯定很複雜。用了以後才發現,使用起來超簡單,當然,精通很難,裏面的各種配置太多了,本文記錄一下自己用到的東西。 echart使用

原创 深入拆解 Java 虛擬機 】Exception異常筆記

【深入拆解 Java 虛擬機 】Exception異常筆記try-with-resource語法糖finally try-with-resource語法糖 try後對象的close方法都會被運行。 package com.except

原创 Spring事務的七種傳播行爲小結

本文單純爲方便自己快速查看,基本引自https://blog.csdn.net/soonfly/article/details/70305683 最常用的屬性是1和4。 1.PROPAGATION_REQUIRED 如果事務存

原创 [leetcode]9.迴文數

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 我最開始的解法,把數字轉換成字符串,然後比較頭尾,時間空間複雜度還過得去。當然反轉方法也可以用gBuilder的reverse()方法來進行。 c

原创 JS函數執行順序錯亂問題

function A(){ var i = 0; i = B(); C(i); } function B(){ setTimeout(function(){}, 1000); return 2; } function C(i