原创 Marco's Java【Docker入門(二) 之 Docker容器及相關操作】

前言 前面一節咱們初步的認識了神奇的 “小藍鯨” Docker,並簡單的介紹了容器、鏡像等概念,但是很多朋友可能還是很懵,這是正常的,所以本節就先來着重介紹Docker中的容器以及操作容器的相關指令。 什麼是容器 容器鏡像是一個軟

原创 Marco's Java【SpringBoot進階(三) 之 SpringBoot數據源配置和自動管理】

前言 學習SpringBoot也有些時間了,之前咱們一直接觸的都是SpringMVC的層面,沒有涉及到數據庫,那麼從本節開始呢,我們會着重來講解SpringBoot如何結合數據庫使用。 我們先從開胃菜開始吧~ 配置dbcp數據源

原创 Marco's Java【Git入門(三) 之 Git分支管理(創建與合併分支)】

前言 上一節我們重點分析過Git的工作區、暫存區以及主分支區,主分支區其實就相當於我們的正式版,正式版版本有什麼特性呢? 很穩定對吧!因此在實際開發中,我們肯定是不能直接將我們修改的內容Commit到主分支上去的吧?大家試想一下,

原创 Marco's Java【Oracle數據庫基礎】

Oracle數據庫 文章目錄Oracle數據庫SQL(Structured Query Language)語句DQL(數據查詢語言)Oracle數據庫函數單行函數數字函數字符函數日期函數轉換函數其他函數多行函數聚合函數DML(數

原创 Marco's Java【Zookeeper入門(一) 之 初識 "動物園管理員"】

前言 隨着互聯網技術的發展,企業對計算機系統的計算,存儲能力要求越來越高,各大IT企業都在追求高併發,海量存儲的極致,在這樣的背景下,單純依靠少量高性能單機來完成計算機,雲計算的任務已經無法滿足需求了,企業的IT架構逐漸由集中式往

原创 Marco's Java【面試系列篇之 面試官:你瞭解線程池麼?講講它的原理唄!】

前言 或許大家在日常開發中直接使用線程池的場景不會特別多,但是很多開源框架的底層都會使用到它來管理線程,進而降低資源消耗,提高線程的可管理性。因爲線程的創建和銷燬都是非常耗費系統資源的,如果不妥善的管理線程(例如,我創建了一個線程

原创 Marco's Java【Eureka篇之Eureka集羣搭建及源碼解析】

Spring Cloud Eureka 簡介 說到註冊中心,大家很容易會聯想到Zookeeper,那麼今天的主角Eureka同Zookeeper一樣都是註冊中心。 Eureka 來源於古希臘詞彙,意爲“發現了”。在軟件領域, E

原创 Marco's Java【面試系列篇之 如何設計緩存系統避免緩存雪崩和擊穿】

前言 Redis緩存中心是我們日常開發中必不可少的工具,使用緩存使得我們的數據能夠更快返回給用戶,緩解數據庫的壓力,可以應對類似搶票、商品秒殺的高併發的場景。但是任何產品都不是十全十美的,當我們在設計一個緩存系統時不得不面對幾個問

原创 Marco's Java【面試系列篇之 一文搞懂AbstractQueuedSynchronizer】

前言 AbstractQueuedSynchronizer即AQS隊列同步器,可能有不少朋友聽說過這個名詞,但是不瞭解它的用途、原理,也可能聽都沒有聽說過這個類…(面壁吧…) 但要提到ReentrantLock,那大家應該就不會陌

原创 Marco's Java【ActiveMQ入門(一) 之 初識ActiveMQ】

前言 相信不少朋友聽說過消息中間件,並且還使用過,比方說我們之前學習的Redis的list數據結構就可以當作一個消息中間件,其實這個東西也沒那麼玄乎,說白了就是一個FIFO(First In First Out)隊列,類似於一個管

原创 Marco's Java【Redis進階(一) 之 Redis緩存擊穿及布隆過濾器實現原理】

前言 本章的內容主要圍繞面試中經常碰到的Redis的問題,即什麼是緩存擊穿,以及緩存擊穿的解決方案來展開的,希望對大家能有所幫助啦! 文章目錄前言什麼是緩存的擊穿Bloom過濾器實現原理Bloom過濾器具體實現分析布隆過濾器的實

原创 Marco's Java【ActiveMQ入門(二) 之 使用Java操作ActiveMQ】

前言 前面一節,我們提到ActiveMQ是使用Java編寫,並實現了JMS(Java Message Service)的消息中間件,那麼如何使用Java來操作ActiveMQ呢? 本節我們會通過三種不同的方式來整合ActiveMQ

原创 Marco's Java【Dubbo 之手寫Dubbo框架實現遠程調用】

前言 關於Dubbo入門的網上教程也特別多,因此我沒有專門出關於Dubbo的系列博文(主要呢… 也是在忙些工作上的事兒),用Dubbo特別簡單,但是想要把Dubbo學好,學精還得花費不少時間的,特別是Dubbo的源碼是非常值得研究

原创 Marco's Java【Solr入門(一) 之 Solr簡介及安裝】

前言 在使用傳統數據庫(例如Mysql)做模糊查詢的時候,相信有經驗的朋友都知道,如果使用%content%的方式進行模糊查詢,一旦數據量變大,搜索速度會變得很慢,此時可能大家都會想到用索引來解決這個問題。 但是,這種模糊查詢的方

原创 Marco's Java【Git入門(一) 之 Git簡介及文件管理(上)】

前言 什麼是Git?相信大家或多或少會聽說過版本庫,在還沒有分佈式概念的時候,程序猿們使用的最廣泛的就是SVN集中式版本控制中心。 SVN是subversion的縮寫,是一個開放源代碼的版本控制系統,通過採用分支管理系統的高效管