原创 Mysql——SQL優化

下面主要講一下常用的sql大局上的優化技巧,對於底層不做過多解釋。   1.儘量走索引,如果可以的話,可以嘗試聯合索引,但是索引不易過多,因爲這樣mysql維護索引的成本會增加,寫入,刪除會變慢。 2.表的主鍵儘量是遞增的整數,這樣的話對

原创 鎖操作封裝

//鎖行爲 public static <T,R>R doWithLock(String key,Object method,T param){ Lock lock = null; //當然 getLock 和 u

原创 jedis工具類—優化

jedis工具類的使用很簡單。但是考慮到一些性能的問題做出一些調整。 public Jedis getJedis() { Jedis jedis = null; try { jedis = jedisP

原创 JVM-CMS全過程分析

其實網上有很多這類的文章,但是主要最近閒來無事,就寫一下自己在經過了各類書籍的研究後得出的一些自己的見解。 那麼CMS的大部分流程其實都有說到,那麼我們就從每個細節開始講解一下吧。 1.初始標記 2.併發標記 3.重新標記 4.併發清除

原创 一些常見問題的實際處理方案

一.數據庫主從延遲 目前,做了一個登陸系統,數據庫採用主從複製,偶爾會存在註冊用戶後,用戶登陸卻不存在,這是因爲登陸的時候是從讀庫中去讀取的數據,然而數據同步還沒到位,因此我採用的方案是: (1)在註冊的時候將該條數據放入redis當中(

原创 RocketMQ整個流程

1.發送消息,producer會在本地緩存的broker列表裏面獲取一個broker,如果沒有,那就會去namesrv獲取broker的地址,然後發 送消息到broker。 2.broker接受到消息後,會進行一系列檢查,然後把收到的消息

原创 reactor模型—生動形象

網上有很多講解reactor模型的,我還是看了比較久才稍微領悟一點意思,那麼我就舉個例子講講自己的理解。 我們首先先結合NIO、多路複用的知識,做一個比喻。 大前提:餐館的服務員現在假設只有一個(並且他兼職廚師),那麼當一個客人來了之後,

原创 記錄一下一個不錯的NIO的教程地址

https://www.jianshu.com/u/f223a6ff7f2a

原创 不定數量多線程輪詢打印i++

package dmeo; import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks.Condition; import

原创 JWT-無狀態方案處理

1.JWT的優勢在於無狀態,如果非要結合redis等相關nosql來進行一些方案的處理,我覺得是沒有必要的。這樣還不如直接使用session集羣。 2.那麼針對JWT就會有幾個問題 (1)退出登錄,需要把token無效化 (2)修改密碼,

原创 代理效率對比

1.JDK動態代理 速度最快,差不多是cglib的5-10倍。但是僅限於有接口的實現。速度是1 2.cglib代理 速度較中。不僅限於接口。速度是5-10 3.javassist代理。 不僅限於接口。速度較慢,差不多是cglib的35倍。

原创 mysql-寫阻塞

先說一下前提,我的mysql是使用的5.6版本,隔離級別是RR。 表結構 CREATE TABLE `t` (   `id` int(11) NOT NULL,   `c` int(11) DEFAULT NULL,   PRIMARY

原创 java-延時隊列-DelayQueue源碼分析

首先延時隊列的發現是基於一個實際場景:如何處理超時的訂單 這個問題很容易想到解決方案 (1)寫一個定時任務,輪詢超時的訂單(缺點:性能消耗過大,對數據庫造成壓力) (2)放入延時隊列當中 那麼我就選擇一下延時隊列,看一下java的實現吧。

原创 我的第一個開源項目——封裝mybatis

https://github.com/Lmjlty/mybatis-demo 寫的不是很好,望指教,後續會一直優化

原创 網絡神器frp

今天接觸到一款神器,因爲公司業務有很多回調要弄,但是每次放到公網上面測試又很煩。同事就推薦了一個內網穿透的神器frp。 他是能夠生成一個二級域名,將生成的二級域名註冊給一級域名,然後回調服務通過域名去找到我們的服務。