原创 HashMap爲什麼要底層使用紅黑樹?
爲什麼用紅黑樹不用二叉樹? 紅黑樹也是一種二叉查找樹。當於是平衡二叉樹,它是一種經典高效的算法 二叉樹的特點是,左節點小於等於根節點,右節點大於等於根節點。比如插入9,8,7這三個值, 隨着數據越來越多,左節點就會越來
原创 java操作es數據的多條件查詢BoolQueryBuilder的查詢方法
一,創建es的連接 public TransportClient transportClient(){ Settings settings = Settings.builder() .put("clust
原创 mysql 查詢近一個月內某段時間的記錄
#mysql關於查詢時間的語法 #獲取當前日期和時間的函數。2020-05-08 16:42:36 select NOW(); #獲取當前的日期 2020-05-08 select CURDATE(); #獲取當前時間 16:
原创 HashMap的實現原理
1,數據結構 JDK1.8後添加紅黑樹,底層是數組+鏈表紅黑樹實現。 鏈表長度>8 & 數組長度>=64 ====> 紅黑樹 紅黑樹節點數<6 =====>鏈表 2,HashMap的插入原理 1
原创 什麼是字符串常量池?
1,jvm爲了提高性能和減少內存開銷,在進行實例化字符串常量時做了一些優化。 首先,爲了減少在jvm中創建的字符串的數量,字符串類就維護了一個字符串池,每當代碼創建字符串常量時,jvm會首先檢查字符 串常量池。 然
原创 String爲什麼是不可變的?
我們談論的String不可變, 指的是字符串的值不可變 1,什麼是不可變對象? 如果一個對象,在它創建完成之後,不能再改變它的狀態,那麼這個對象就是不可變的。 不能改變狀態的意思是:不能改變對象內的成員變量,包括基本數據類型的值不能改變