原创 SpringBoot常見疑問彙總(二)

SpringBoot常見疑問彙總(二) 一、@Import註解有什麼作用?爲什麼不用@Bean,@Component之類的常用註解來解決? 首先回答第一個問題,@Import的主要作用是在配置Bean的時候導入其他必要的Bean,

原创 HTTPS的疑問彙總

HTTPS的疑問彙總 一、https相較於http協議有什麼區別? https是運行在SSL/TSL協議上的http, 本質上在應用層都是http協議(文本協議),只是在https新增了一層安全層,通過SSL/TSL協議(二進制協

原创 Java 從字節碼的角度來看i++

一、自增操作的原子性 Java中i++是否是原子的? 答案當然是否定的,java中的自增操作並不是原子的,具體的原因,可以通過查看java字節來了解。 public class Main { private int i = 0;

原创 Innodb事務和鎖總結

Innodb事務和鎖總結 一. 事務隔離級別 READ UNCOMMITED :讀未提交,事務之間可以看到彼此之間正在修改的內容,會出現所謂的髒讀現象 READ COMMITED : 讀已提交,只能讀取已經提交的事務修改的數據,

原创 關於Collection的ConcurrentModificationException

關於Collection的ConcurrentModificationException 在使用Java迭代器的時候,執行next()方法調用一個名爲checkForComodification()的方法,簡單看一下方法的具體實現

原创 java8 中metaspace的理解

METASPACE的理解 JAVA 8中引入了metaspace的概念代替了原有perm區,主要的目的還是爲了解決perm區大小管理的困境, java 7中perm區是分佈在堆內存中,而且metaspace是分佈在native m

原创 BidDecimal原理

BigDecimal原理 一、浮點數的精度問題 對於日常開發過程中出現小數的問題,通常都是使用float或者double類型來處理,在java中float佔用四個字節, double類型佔用8個字節,簡單的從double類型來說,

原创 MySql語句執行順序

MySql語句執行順序 MySql的sql語句由多個關鍵詞和參數組成,熟悉sql語句的執行順序對於我們分析語句和優化sql有很好幫助,這裏先簡單記一下執行的順序,之後做詳細的解析 (1)from (3) join (2) on (

原创 RocketMQ TAG 過濾原理

RocketMQ TAG 過濾原理 RocketMQ 消息過濾分成TAG過濾和SQL Filter顧慮,其中 SQL Filter是在服務端處理,可以減輕客戶端的處理壓力,語法比較靈活,實現方式也相對複雜一些。Tags過濾實現比較簡單

原创 RoaringBitmap

GITHUB實現地址 RoaringBitmap RoaringBitmap是最近剛剛看到的一個壓縮位圖數據結構,可以有效的提升位圖的內存使用效率,整個算法基本結構並不複雜,對於2^32位的數據, 將數據分成兩部分做索引,高16位主要

原创 Netty寫入過程中的一些問題

ChannelFuture什麼時候發出完成的通知? Netty寫入數據的時候,最終會調用Unsafe的方法的write方法,unsafe寫入的數據的時候,會把msg包裝成一個Entry放到ChannelOutboundBuffer當中

原创 關於DirectByteBuffer的問題

關於DirectByteBuffer的問題 1、 DirectByteBuffer的內存是在用戶空間還是內核空間? directBytebuffer依然是屬於用戶空間,在jvm所在的進程當中,只是不在gc的管理範圍之內罷了,所以本質上

原创 JAVA Launcher簡析

JAVA Launcher簡析 sun.misc.Launcher類是java的入口,在啓動java應用的時候會首先創建Launcher類,創建Launcher類的時候回準備應用程序運行中需要的類加載器。 一、ClassLoader

原创 RPC博客列表

RPC博客列表 過去一段時間花了不少時間看了一些RPC框架(grpc、dubbo), 感覺快速的翻閱源碼還是沒有辦法非常具體的對整體框架有所把握,所以決定落地成文字,希望在總結的過程中能進一步加深對服務框架的思考,暫時先列出可以總結的

原创 java使用protobuf

Java中使用Protobuf Protobuf是Google推出的跨語言的序列化方式,是gRpc中消息的序列化方式。protobuf是高性能的序列化方式,跨語言,序列化後數據尺寸小,序列&反序列化速度快,唯一可能產生的不便就是需要用