原创 初探消息中間件Kafka、ActiveMQ、RabbitMQ、RocketMQ的優缺點

我們在開發軟件的時候,經常會用到消息隊列,憑藉其自身的特點,可以在滿足業務需求的前提下,一定程度上系統的抗壓性,但是消息隊列使用不當或者是選擇不當,效果可能不會那麼好,所以我們有必要了解消息隊列的優缺點。 1、優點:解耦、異步、削峯 解耦

原创 Mybatis批量插入sql語句 + 返回id

我們在保存數據操作時,可能會遇到批量插入的操作,有3中方法來操作該保存: 一、Mybatis插入數據,返回id 在sql語句上添加下面代碼 useGeneratedKeys="true" keyProperty="id" 例如: <i

原创 jdk1.7 HashMap發生死鎖探究

jdk1.7 HashMap發生死鎖探究 當我們多線程併發對同一個HashMap對象進行put操作操作時,會埋下死鎖的隱患,原因是put()方法可能會發生擴容,擴容的說話會移動鏈表上的節點,多線程情況下會使鏈表上的節點互相依賴,當

原创 Redis-懶惰刪除內部實現

        異步線程在Redis內部有個特別的名稱,叫作BIO(background IO),意思是後臺運行的io線程,不過內存回收本身不是io操作,只是cpu計算消耗比較大。 1、Redis的內部對象共享機制會阻礙異步線程的改造,原