原创 ERR_CONTENT_DECODING_FAILED, netty下載文件的壓縮編碼問題

說明: 本文涉及的netty源碼都是netty4.1 問題描述 我在將netty整合到我自己依賴注入框架Yao中來作爲web服務提供類似springmvc的能力的時候。先從官方demo開始。 整合Netty官方Demo HttpS

原创 java字符串相加時的內存表現和原理

**因爲String是非常常用的類, jvm對其進行了優化, jdk7之前jvm維護了很多的字符串常量在方法去的常量池中, jdk後常量池遷移到了堆中 ** 方法區是一個運行時JVM管理的內存區域,是一個線程共享的內存區域,它

原创 ReentrantLock源碼簡單分析

ReentrantLock 能用於更精細化的加鎖的Java類, 通過它能更清楚瞭解Java的鎖機制 ReentrantLock 類的集成關係有點複雜, 既有內部類, 還有多重繼承關係 ### 類的定義 public class

原创 Ubuntu升級到20版本,非重裝,保留原數據和配置

升級安裝 這種類型的安裝是指更新操作系統的版本,同時保持所有程序、設置和數據完好無損。所有內容都會在安裝過程中被保存和使用,因此您無需重做或重新安裝任何內容。 運行以下命令以檢查當前版本和內核信息。 lsb_release -a

原创 JedisConnectionException: java.net.SocketException: Broken pipe (Write failed)

JedisConnectionException: java.net.SocketException: Broken pipe (Write failed) 問題: 查看線上的日誌發現線上出現大量的如下的日誌, 由於線上只是用re

原创 springboot整合mybatis的原理

mybatis整合spring。 需要弄明白以下問題 如何生成mybatis的Configuration類和SqlSessionFactory類的。 如何生成Mapper代理類並放入容器中。 如何進行事務管理(本文不說) 第1

原创 LambdaQueryWrapper的實現原理和lambda的序列化問題

LambdaQueryWrapper的實現原理 mybatis-plus的LambdaQueryWrapper的lambda來組合查詢字段的功能十分好用,但是它是如何實現的呢? 通過查看mybatis的源碼發現它的功能主要是四

原创 zookeeper在分庫中的一種應用

需求 我們項目的瓶頸目前是在調度任務上, 調度任務每隔10秒掃一下數據庫,找到需要執行的調度計劃。目前出現的瓶頸是在掃數據庫上。 解決辦法 計劃使用分庫的方式, 將任務分配到多個數據庫中。調度應用啓動多臺機器,每個機器應用掃描不同