原创 設計模式學習之建造者模式

定義: 建造者模式(Builder Pattern)也叫做生成器模式,是將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。簡單的說就是對於複雜對象或者方法的調用邏輯的封裝交易給建造者處理,客戶端調用只需要提供調用要

原创 Java併發編程學習筆記—爲什麼要學習併發編程

關於併發編程,無論是面試還是實際項目應用來說都是必不可的一部分。所以也激發了系統學習這塊知識的決心。在參考《併發編程藝術》這本書的情況下,加上學習其他博客/專欄的路線,整理出學習筆記。雖然見解不深,但是相信通過不斷的揣摩和研究,先把基礎夯

原创 GitHup新手使用攻略

新手攻略,以上文章都是很詳細的安裝和設置步驟。 Windows系統Git安裝教程:https://blog.csdn.net/yyykj/article/details/103201960 GitHup註冊:https://mp.weix

原创 併發編程之五—你還不瞭解的互斥鎖

在之前的《併發編程學習筆記之二中併發問題的源頭》瞭解到引發原子性問題主要是線程切換。在Java中一行代碼最後可能會被翻譯成多條計算機指令,更何況是代碼塊或是方法。一個或者多個操作在CPU中執行不被中斷,稱之其具有原子性。 線程切換依賴的是

原创 併發編程學習筆記之十—併發工具Condition源碼分析

在併發編程中,synchronized是和wait()、notify()、notifyAll()實現的等待通知機制。而比synchronized更強大的Lock同樣實現了自己的最佳隊友那就是Condition的await()、signal

原创 SpringBoot經典入門——整合MyBatis和Junit

隨着微服務的遍地開花,SpringBoot成了框架中的一顆耀眼明星。在還沒有接觸SpringBoot的一段時間內,一直認爲Spring已經是和輕量級的框架, 即使編程過程中需要配置的內容比較繁瑣,但也是使用一段時間後纔會有的感觸。就像ec

原创 Java基礎之終於弄懂了字節、字符、字符集和字符編碼

目錄 一、如何理解概念 二、亂碼的真相 三、如何轉換 四、總結     關於字節、字符、字符集和字符編碼的問題,根據以下幾篇文字,做以一下整理,原文鏈接如下: https://blog.csdn.net/longwen_zhi/artic

原创 MongDB安裝報錯:Error connecting to the Service Control Manager解決方法

今天首次安裝MongoDB完成時,啓動不了MongoDB,打開服務發現未註冊服務: 1.查看 #查看計算機所有服務 Services.msc 2.發現未註冊成功,於是手動執行如下命令註冊服務: mongod.exe --config

原创 Java併發編程學習筆記之三—還不懂happens-before?

       在併發場景中,有序性、原子性、可見性是併發問題的源頭。happens-before強調的是執行結果,而不是時間上的先後順序,代碼時間上的先執行並不代表執行的結果會對後面的操作可見。從而造成了可見性問題。在Java內存模型中有

原创 重修Redis一:五種常見的數據類型及使用場景

爲什麼會選擇Redis?     Redis是C語言開發的內存數據庫,作爲時下最常用的非關係型數據庫之一,爲什麼會有如此多的公司選擇Readis?主要包括一下幾點: 豐富的數據類型,包括String,List,Hash,Set,zSet

原创 重修Redis二:僞集羣環境搭建

先來回顧下單機版的安裝流程: 安裝基礎環境:Vm12+Centos6.5+CRT7.5 步驟一:下載安裝C++編譯環境 yum install gcc-c++ 步驟二:安裝 1.從官網下載redsi版本,通過FTP工具上傳到Linu

原创 併發編程學習筆記之十二ReadWriteLock可以共享的鎖

實際的開發過程中,會遇到這樣讀多寫少的場景。在這種場景中,獨佔鎖都是阻塞的,而實際變量讀的時候變量是可以共享的,如果使用獨佔鎖的話,就有點大材小用了。在Java併發包還有個強大的工具那就是ReadWriteLock,來解決這種場景的問題。

原创 Java基礎之剖析面向對象的三大特性:封裝、繼承、多態

封裝 封裝也被稱爲數據隱藏,在面向對象程序設計中,是將對象特有的實例域(也就是對象的屬性)隱藏私有化, 外界不能直接訪問到對象的屬性,只能通過對象提供的屬性方法訪問。舉個簡單的例子: 如下代碼:一個Girl類,有三個私有屬性,姓名、年齡、

原创 重修Redis之三:到底什麼是緩存穿透,擊穿,雪崩?(有圖有文字)

在面試Redsi過成中,經常會談及緩存穿透、緩存擊穿、緩存雪崩這三種使用緩存遇到的問題。而這三種現象的本質都是服務跳過緩存直接訪問db,對db造成一定的衝擊,嚴重會直接崩掉。究竟該如何形象的描述出這三個問題以及預防發生呢?帶着疑問開始思考

原创 重修Redis之四:搞定RDB和AOF持久化機制

     Redis是內存服務器,而且數據時以鍵值對的形式存儲。對於內存服務器來說,如果是數據庫數據沒有定時備份,一旦服務器出現故障或者停機,那麼數據將會消失不見,這將是災難級別的影響。爲了解決這個問題,Redis提供了持久化機制RDB和