原创 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,什麼是不可變對象?  如果一個對象,在它創建完成之後,不能再改變它的狀態,那麼這個對象就是不可變的。 不能改變狀態的意思是:不能改變對象內的成員變量,包括基本數據類型的值不能改變