原创 Spring AOP、攔截器、過濾器的區別
一:區別與概念 Filter過濾器:攔截web訪問url地址。 Interceptor攔截器:攔截以 .action結尾的url,攔截Action的訪問 (控制層Controller)。 Spring AOP攔截
原创 Spring-retry 優雅的實現循環重試功能
引言 在實際的應用場景中,可能經常會遇到,當請求一個接口調一個服務的時候,出現異常或網絡出現故障的情況下就會失敗,而對於那些重要的服務當失敗後,可能我們就會進行重試,多調用幾次,如果還是失敗再另外進行單獨處理。接下來,就是要講解的
原创 基於Redis實現查找附近的人/排行榜
引言 在日常使用的有些APP中,想什麼微信,百度地圖,可以可以搜尋附近的人,距離自己多遠,以及在地圖上我們可以搜索附近的某個地點,距離自己的位置。針對這種類似的功能,我們可以通過redis就能實現。 redis在3.2版本之後也提
原创 RedisTemplate查詢不到redis中的數據問題(序列化)
一.問題描述 存入Redis中的值取出來卻爲null,問題根本原因就是RedisTemplate和StringRedisTemplate的序列化問題、代碼示例: 1 @SpringBootTest 2 class Redis
原创 mysql elt interval函數區間統計
引言 在實際的業務統計需求中 有時往往需要對區間進行分組統計查詢,如分數區間,工資區間查詢統計等!mysql中可以利用elt函數來實現此類需求! 接下來看如下時間業務需求: 1:現在要進行統計,小於100的,100~500的,5
原创 JDK8之Lambda表達式詳解
1.1概述 Lambda 表達式(lambda expression)是一個匿名函數。主要用來優化匿名內部類的結構。我們先看下傳統的匿名內部類的使用方式。 new Thread(new Runnable() { @Override
原创 使用Optional更優雅地處理非空判斷
一:引言 在平常的編碼之中,有一個錯誤總會在你的意料之外出現,那就是空指針異常。空指針的出現也很簡單,你得到了一個null對象,調用了一些方法,出現空指針異常。空指針會出現在各種地方,常見的比如Map.get()沒有獲取到對象就
原创 mybatis數據層的三種實現方式(xml、@Select註解、代碼實現)
引言 在平常的日常java開發過程中,功能之間的交互,不可避免的要與數據庫打交道,這中間就涉及到數據層的實現問題,有xml、@Select註解、Java代碼三種實現方式,具體的可以根據自己的業務難易程度來選擇某個實現方式,接
原创 mysql 提取某個字段前邊/後邊的值
引言 在mysql中,有時候需要提取某個表某個字段中的部分值,如Address字段的值爲A-B-C,想要獲取address字段的A 或 B 或 C部分的值。 1:提取後部分的值 select order_no,chassis
原创 兩個線程交替打印/賣票問題?(5種方法)
引言 設置兩個窗口(線程),交替賣出100張票,一個線程賣寄數,一個線程賣偶數,要求交替賣出,最後數據 1 ,2,,3,4,5,6......100 1 /** 2 * @ClassName AlternatePrintT
原创 線程池ExecutorService中submit和execute方法的區別
引言 ExecutorService線程池執行線程時有submit 和execute 兩種方法,它們兩者之間有什麼區別了?可能平時我們只是運用,沒有深究其區別,在此我們可以看看它們的區別? 1:executorService
原创 ES 中的and 和 or 查詢
//跨索引查詢 SearchRequest request = new SearchRequest(index1,index2); 在es中想實現類似於下面的查詢,廢話不多說,es的should查詢代替的是or,但是必須搭配must
原创 mysql json中提取某個字段值
1、如果只有一級json,可以用A->'$.B'的方式提取 等同於json_extract(A,'$.B') ===> extend_info = {"age":1089,"name":"tom"} 例如: sele
原创 Java經典面試算法2
二:經典算法問題? 2.1雞兔同籠問題(窮舉法) 已知:雞兔共35只,共94只腳,那麼雞和兔各幾隻? 示例代碼: 1 public class SameCage { 2 publ
原创 SpringCloud的相關問題
1. 什麼是微服務? 1:以前的模式是 所有的代碼在同一個工程中 部署在同一個服務器中 同一個項目的不同模塊不同功能互相搶佔資源 2:微服務將工程根據不同的業務規則拆分成