原创 window.name跨域通訊小坑一記

工作中有這麼一個需求,在支付完成之後,延遲3秒跳轉到商戶的廣告頁面。在廣告頁面通過返回按鈕,可以再次返回到支付完成的詳情頁面,但此時延遲3秒後不會再次跳轉到商戶廣告頁面。 很明顯,需要存一個標記,表示是否已經跳轉過了。當時覺得wi

原创 避免360瀏覽器極速模式自動填充表單

問題 在表單裏面有API密鑰和證書密鑰兩個字段,剛好一個type=text,一個type=password,360以爲是登錄用戶名和密碼字段,進行了自動填充,如下所示: 解決方案 網上解決方案有很多,有的可行,有的不行。我試了好

原创 Mybatis插件機制探究及延伸思考

文章目錄1、前言2、使用示例3、原理分析4、延伸思考4.1、關於plugin方法4.2、責任鏈模式?4.2.1、基於jdk動態代理的雙向責任鏈5、總結 1、前言 Mybatis提供了插件機制,可以讓我們介入到底層執行的一些流程,例

原创 Netty在RocketMQ中的應用----客戶端

RocketMQ中角色有Producer、Comsumer、Broker和NameServer,它們之間的通訊是通過Netty實現的。在之前的文章RocketMQ是如何通訊的?中,對RocketMQt通訊進行了一些介紹,但是底層N

原创 Netty在RocketMQ中的應用----服務端

RocketMQ中角色有Producer、Comsumer、Broker和NameServer,它們之間的通訊是通過Netty實現的。在之前的文章RocketMQ是如何通訊的?中,對RocketMQt通訊進行了一些介紹,但是底層N

原创 關於pre換行的一點探究

背景 換行是很常見的需求,一般word-break搭配overflow屬性就可以很輕鬆的實現,例如: <html lang="zh"><head> <style type="text/css"> .log_wrap{

原创 微信支付寶頁面點擊返回後關閉

需求背景 在支付完成頁面後,如果用戶點擊返回按鈕,會返回到繼續支付的頁面。既然已經完成支付了,那麼在用戶點擊返回按鈕之後,就可以關閉頁面了,這纔是合理的做法。所以我們的目的就是,監聽用戶的頁面返回事件,然後關閉頁面。 監聽返回事件

原创 Quartz Trigger狀態轉換

在Quartz的框架中,Trigger可能是最重要的一個對象了。定時任務的調度,觸發,都是通過對Trigger的操作來實現的。Quartz的所有表裏面,光Trigger相關的表就佔了一大半,從這一點也可以看出Trigger的重要地

原创 關於LongAdder的一點思考

LongAdder是jdk 1.8引入的一個類,宣稱比AtomiLong更高效。它內部有一個基本數base和一個cell數組,在高併發的情況下各個線程將值存放在了數組中,在低併發的情況下直接在一個base數上做計算,取值的時候把基

原创 基於layui2.x的通用後臺管理系統

一、概述        之前的spring集成系列文章中spring集成shiro權限控制一文最後提到了通用的mvc框架和前後端分離方案。在準備前後端分離方案demo的時候,糾結於選擇哪個前端框架。對於後端開發人員來說,Angular和V

原创 聊聊synchronized關鍵字

文章目錄1、synchronized基本用法2、synchronized與volatile3、synchronized與wait、notify4、synchronized與interrupt5、synchronized底層原理5.

原创 利用JRebel進行遠程熱部署調試

一、背景 我的工作中有些頁面調試十分麻煩,例如一個支付頁面,調試遇到的難點就有: 1、工程依賴了Apollo,如果要本地調試,需要本地添加Apollo的相關Java參數。 2、進入到支付頁面前需要對用戶做OAUTH,有個回調地址需

原创 RocketMQ Consumer如何獲取並維護消費進度?

背景 Cosumer消息消費流程比較複雜,比較重要的有下面幾個模塊:維護消費進度,查找消息,消息過濾,負載均衡,消息處理,回發確認等。限於篇幅,這篇文章主要介紹Consumer是如何獲取並維護消費進度。由於以上幾個步驟都是緊密相連

原创 RocketMQ如何構建ComsumerQueue的?

前言 RocketMQ的消息都是按照先來後到,順序的存儲在CommitLog中的,而消費者通常只關心某個Topic下的消息。順序的查找CommitLog肯定是不現實的,我們可以構建一個索引文件,裏面存放着某個Topic下面所有消息

原创 Netty在RocketMQ中的應用----編解碼

RocketMQ中角色有Producer、Comsumer、Broker和NameServer,它們之間的通訊是通過Netty實現的。在之前的文章RocketMQ是如何通訊的?中,對RocketMQt通訊進行了一些介紹,但是底層N