原创 訂單一定時間未支付-回倉(Timer實現)

做商品支付的開發過程中,一個必須考慮到的環節:用戶在點擊下單購買,同時也點擊了支付,這時候由於各種原因,用戶長時間未支付,對於庫存有限的商品來說,一般會將當前訂單的商品庫存鎖定一段時間,這段時間一過,還未支付,庫存自動回庫,同時修

原创 ajax 返回response 獲取 headers中的token

登錄前token的存取 //後端存入token //瀏覽器默認是不讓獲得header中其他值,先指定一個頭部,再存入數據 //HttpServletResponse response response.setHeader("Acc

原创 一個例子讓你瞭解JAVA反射

通俗地說,反射機制就是可以把一個類,類的成員(函數,屬性),當成一個對象來操作,希望讀者能理解,也就是說,類,類的成員,我們在運行的時候還可以動態地去操作他們. package cn.lee.demo; import java

原创 電商訂單未支付-回倉(RabbitMQ實現)

大致流程: 在訂單下單時,觸發RabitMQ的死信隊列(死信隊列中聲明延時時間),在延遲時間到達後,觸發延時任務。 延遲任務:查詢數據庫中生產的訂單,如果是未支付狀態,則刪除訂單。反之,無操作。 這裏用RabbitMQ

原创 Get和Post請求區別和使用場景

GET和POST是什麼? 答:HTTP協議中的兩種發送請求的方法。 HTTP是什麼? 答:HTTP是基於TCP/IP的關於數據如何在萬維網中如何通信的協議。 Get請求和Post請求區別: (1)post更安全(不會作爲url的一

原创 數據加密技術篇

這幾年接觸了一些加密技術,在這裏做個總結,主要是加密算法(對稱加密和非對稱加密)和摘要算法。這裏主要是結合Java代碼講解常見的 對稱加密(DES)、非對稱加密(RSA)、摘要算法(MD5) 對稱加密:DES,3DES,TD

原创 java封裝 繼承 多態 的概念和作用

一:概念 封裝: 在java中,我們對類的封裝,對方法的封裝,在其他類中只需要調用這個類或者方法就行。 通俗點理解,我們在啓動汽車的時候。汽車對裏面的零件構造進行了封裝,只要提供給我們一個鑰匙口,我們只需要用鑰匙啓動就行。

原创 Apache+tomcat(linux推薦版)

聲明:進行apache+tomcat進行整合時,版本很重要 (儘量用以下版本,筆者當時安裝吃了不少虧,在網上下了多種版本的,現在總結如下) 一、apache的安裝 1.準備以下安裝包 apr-1.5.2.tar.gz apr-ut

原创 vmware虛擬機三種網卡

vmware爲我們提供了三種網絡工作模式,它們分別是: Bridged(橋接模式)、 NAT(網絡地址轉換模式)、 Host-Only(僅主機模式)。 打開vmware虛擬機,我們可以在選項欄的“編輯”下的“虛擬網絡編輯器”中看到

原创 MySQL 外鍵篇

1 簡介 在實際開發的項目中,一個健壯數據庫中的數據一定有很好的參照完整性。例如學生檔案和成績單兩張表,如果成績單中有張三的成績,學生檔案中張三的檔案卻被刪除了,這樣就會產生垃圾數據或者錯誤數據。爲了保證數據的完整性,將兩張表之間

原创 String創建幾個對象

String a = "abc"; //1個 // "abc"在字符串常量池中 String a = "abc"; String b = "abc"; //1個 // 兩個"abc"都在字符串常量池中 String

原创 MyBatis源碼-手寫測試類-閱讀

1:準備-下載MyBatis源碼: https://github.com/tuguangquan/mybatis https://github.com/mybatis/parent 2:idea搭建聚合項目 mybatis繼

原创 更新數據是先更新緩存(redis),還是先更新數據庫(mysql)

1:緩存的目的是爲了減少數據庫的壓力,而且redis支持事務處理機制,請求優先命中redis,緩存中沒有在命中數據庫,所以優先刪除緩存,然後更新數據庫,即使刪除緩存成功,但是更新數據庫失敗,但是數據依然存在。 2:如果在更新數據庫

原创 RubbitMQ(死信隊列)極簡測試

基本環境: jdk版本:1.8 rubbitmq版本:3.7.16 springboot項目 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:

原创 @ExceptionHandler詳解

1:@ExceptionHandler介紹 @ExceptionHandler註解我們一般是用來自定義異常的。 可以認爲它是一個異常攔截器(處理器)。 異常間的層次關係 2: @ExceptionHandler的使用 一:極簡