原创 【源碼分析設計模式 10】SpringMVC中的建造者模式

一、基本介紹 建造者模式就是將一個個簡單的對象一步一步構建成一個複雜的對象。 我們生活中有很多可以用建造者模式來解釋。譬如在生產汽車的流水線作業中,我們需要先將生產汽車所需的一個一個的內部構建建造出來,例如發動機,車門,車輪,方向盤,水箱

原创 【Java8 新特性】Lambda表達式總結(全棧最強,絕對豪橫)

Java8發佈已經有一段時間了,這次發佈的改動比較大,很多人將這次改動與Java5的升級相提並論。Java8其中一個很重要的新特性就是lambda表達式,允許我們將行爲傳到函數中。想想看,在Java8 之前我們想要將行爲傳入函數,僅有的

原创 【源碼分析設計模式 1】JDK中的單例模式

  一、基本介紹 單例模式比較簡單,可以說沒有複雜的調用和接口的設計,就是一個簡單的類,只是要求這個類只生成一個對象,無論什麼時候都要保證這一點,因此只能生成一個實例的模式就是單例模式。 1、單例模式要素 私有構造方法; 私有靜態引用指向

原创 【源碼分析設計模式 6】Mybatis中的組合模式

一、基本介紹 組合模式,將對象組合成樹形結構以表示“整體-部分”的層次結構,一種對象結構型模式。 由於在軟件開發中存在大量的樹形結構,因此組合模式是一種使用頻率較高的結構型設計模式,Java SE中的AWT和Swing包的設計就基於組合

原创 【源碼分析設計模式 13】命令模式

一、基本介紹 1、在軟件設計中,我們經常需要向某些對象發送請求,但是並不知道請求的接收者是誰,也不知道被請求的操作時哪個,我們只需在程序運行時指定具體的請求接收者即可,此時,可以使用命令模式來進行設計。 2、命令模式使請求發送者與請求接收

原创 Java程序員必看經典書籍,助你早日打通任督二脈

不知不覺,已經在開發界混跡了三年半,由於轉行的緣故,感覺自己依舊是一個小菜鳥,既然你是一個非計算機專業的,還想鳩佔鵲巢,那私底下的努力必定是少不了的,要想人前顯貴,必定人後受罪。 一路走來,磕磕絆絆,有心酸也有收穫。 話不多說,跟着節奏走

原创 【源碼分析設計模式 7】Integer中的享元模式

一、基本概念 說到享元模式,第一個想到的應該就是池技術了,String常量池、數據庫連接池、緩衝池等等都是享元模式的應用,所以說享元模式是池技術的重要實現方式。 比如我們每次創建字符串對象時,都需要創建一個新的字符串對象的話,內存開銷會很

原创 【Java基礎知識面試題 2】2020年6月20日 星期六(請不要查資料,填寫你們的答案)

1、什麼是線程池 線程池是是統一管理線程的地方,在使用線程時,可以直接從線程池中拿取,不需要new的過程。 線程池的優點: (1)程序在使用線程時,可以直接從線程池中拿取,不需要new,提高了使用線程的效率。 (2)對線程進行統一管理,可

原创 BIO、NIO、AIO 介紹和適用場景分析(絕對經典)

IO的方式通常分爲幾種,同步阻塞的BIO、同步非阻塞的NIO、異步非阻塞的AIO。 一、同步阻塞的BIO 在JDK1.4之前,我們建立網絡連接的時候採用BIO模式,需要先在服務端啓動一個serverSocket,然後在客戶端啓動socke

原创 SpringCloud的限流、降級和熔斷——Hystrix

一、前言 分佈式系統環境中,服務間類似依賴非常常見,一個業餘調用通常依賴多個基礎服務。如下圖,對於同步調用,當庫存服務不可用時,商品服務請求線程被阻塞,當有大批量請求調用庫存服務時,最終可能導致整個商品服務資源耗盡,無法繼續對外提供服務。

原创 Java集合基礎知識總結(超級詳細)

一、數組Array和集合的區別 1、數組是大小固定的,並且同一個數組只能存放類型一樣的數據(基本類型/引用類型) 2、JAVA集合可以存儲和操作數目不固定的一組數據。 3、若程序時不知道究竟需要多少對象,需要在空間不足時自動擴增容量,則需

原创 《深入理解Java虛擬機》第一章 走進Java,第二章 Java內存區域與內存溢出異常,第三章 垃圾收集器與內存分配策略

本系列是用來記錄《深入理解Java虛擬機》這本書的讀書筆記。方便自己查看,也方便大家查閱。 欲速則不達,欲達則欲速! 第一章 走進Java 一、Java虛擬機發展史 這部分一帶而過吧,有興趣的可以閱讀原著! 二、Java內存管理,clas

原创 jQuery 基礎知識總結(超級詳細)

最近一直在研讀 jQuery 源碼,初看源碼一頭霧水毫無頭緒,真正靜下心來細看寫的真是精妙,讓你感嘆代碼之美。 其結構明晰,高內聚、低耦合,兼具優秀的性能與便利的擴展性,在瀏覽器的兼容性(功能缺陷、漸進增強)優雅的處理能力以及 Ajax

原创 面試官:兄弟,談談你對transient的理解和感悟

面試官:兄弟,說說你對transient的理解和感悟 素小暖:what?還有感悟? 一、基本概念 1、序列化和反序列化定義 Java序列化是指把Java對象轉換爲字節序列的過程。 Java反序列化是指把字節序列恢復爲Java對象的過程。

原创 寫博客是一種樂趣,一種需要培養的樂趣

博客網站哪家強,CSDN找小強。 大家好,我是打不死的小強,素小暖! 碼齡三年,訪問量依舊穩如狗! 爲了提高訪問量,早日成爲博客專家,我也是想盡了辦法,吸引眼球的狗血名字,唯美的動態網圖,blink的無恥推薦,去評論其他人的博客來換取他人