原创 一週一源碼之HashMap源碼解析

簡介 HashMap 是一個散列表,它存儲的內容是鍵值對(key-value)映射。其繼承於AbstractMap,實現了Map、Cloneable、java.io.Serializable接口。 實際上,HashMap是個鏈表數組的結

原创 一週一源碼之HashSet源碼解析

簡介 HashSet是一個沒有重複元素的集合,其本質是一個HashMap。 源碼分析 對HashSet的操作,實質上都是對其核心的HashMap的操作。所以如果之前瞭解了HashMap的特性和工作原理,自然就知道了HashSet的工作原理

原创 一週一源碼之包裝類Integer源碼解析

簡介 Integer是個很基礎很常用的包裝類,包裝了一個基本類型爲int的值,並提供多種方法。 源碼分析 源碼雖然有1500多行,但是大部分都是註釋。 繼承實現關係 繼承了Number類,實現了Comparable接口 核心成員變量

原创 Elasticsearch、Logstash和Kibana簡介與部署

ELK簡介 ELK由Elasticsearch、Logstash和Kibana三部分組件組成。 Elasticsearch是個開源分佈式搜索引擎,它的特點有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,

原创 Java面試總結

年初時面試的一些總結,作爲存貨,現在發佈出來吧。 面試了兩週,大大小小的公司也都去試了一遍,大概的套路也都摸索出來了一些,基本會考察什麼點,如何去考察,都大概瞭解了些。這兩週收穫很多,心情也跌宕起伏過。現在唯一感覺遺憾的就是,後悔沒

原创 深入理解Java虛擬機筆記(1、2、3章)

自己絮絮叨叨的一些廢話 這本書真是神作,很少讀過國內作者寫的如此精確易懂的技術書籍。 我感覺,作爲一名Java程序員,是一定要知道、瞭解進而掌握JVM的,畢竟是Java知識體系的核心所在。然而,剛剛接觸Java的時候,一聽什麼Java虛

原创 Java多線程學習總結

通過這篇文章:Java多線程學習進行的知識點總結。這篇文章寫得很棒,但是略長,所以在此基礎上稍微整理了一下,如果想看詳細的內容請查看原文咯~ 概述 進程:每個進程都有獨立的代碼和數據空間(進程上下文),進程間的切換會有較大的開銷,一

原创 kafka爲什麼使用Scala開發?

今天聽了kafka開發成員之一的饒軍老師的講座,講述了kafka的前生今世。乾貨的東西倒是沒那麼容易整理出來,還得刷一遍視頻整理,不過兩個比較八卦的問題,倒是很容易記住了。 Q:爲什麼kafka使用了Scala進行開發? A:因爲當年

原创 Java實現ftp上傳下載功能

前言 平時開發系統的時候,如果需要上傳文檔,一般都是通過開發好的基礎組件比如網盤來上傳保存文件。下載的話,一般也是通過http的方式去下載文件。但是遇到比較大的文件,或者遇到了其他的業務需求,有時候還是需要用到ftp協議去傳輸文件。畢竟f

原创 設計模式六大原則簡單總結

1.單一職責原則(Single Responsibility Principle) There should never be more than one reason for a class to change. 應該有且僅有一個原因

原创 Method Object理解與應用

背景 這段時間在重構自己寫過的爛代碼(尷尬)。本着單一原則想把堆成一堆的代碼按照功能拆分成一個個小方法,按照順序整齊擺放,清晰好看易讀有條理。但是遇到了問題,這堆代碼涉及到了較多的變量,而且不同部分代碼的變量都是另一部分代碼需要的參數,所

原创 探究SpringBoot啓動時實現自動執行代碼

前言 目前開發的SpringBoot項目在啓動的時候需要預加載一些資源。而如何實現啓動過程中執行代碼,或啓動成功後執行,是有很多種方式可以選擇,我們可以在static代碼塊中實現,也可以在構造方法裏實現,也可以使用@PostConstru

原创 通過序列和觸發器實現Oracle主鍵自增長

前言 大佬設計了一個表,需要用自增值做主鍵,可是這種事情oracle還要自己去搞,也是有些麻煩。雖然是個很簡單的事情,但是畢竟沒用過也不會,而且估計一年半載也用不上一次的技巧,就簡單整理一下。 假設我們有個這樣的表 CREATE TABL

原创 一週一源碼之下週繼續

emmmm,上週突然想搞一些事情,於是乎這兩週就先不看源碼啦,稍後整理一下這一週做的東西,下週再看源碼。

原创 一週一源碼之ArrayList源碼解析

前言 準備開始我的一週一源碼系列了!保證每週至少閱讀一部分jdk或者開源框架的源碼,督促自己,可以穩定的積累基礎,也記錄一下學習的過程。因爲是剛開始,所以就從比較常見而且簡單的集合類入手吧! ArrayList簡介 ArrayList實際