原创 一看就懂的Java對象四種引用方式總結

這應該是一道很常見的面試題,但是有些小夥伴也不一定能很好的說清楚Java對象四種引用方式,這邊文章總結Java四種引用方式,希望可以幫到有緣人,哈哈。 強引用StrongReference 這種方式是平時工作中應用最多的一種引用方

原创 Guava Cache的應用

maven依賴 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>28.1-jre</versi

原创 Redis之分佈式鎖的實現

分佈式鎖在分佈式系統中比較常見,常見的分佈式鎖解決方案有: zookeeper,創建順序臨時節點來實現 redis實現(setnx / setex命令) 數據庫唯一主鍵 這篇文章主要介紹下redis分佈式鎖怎麼實現。在瞭解分佈

原创 Redis之常見問題以及解決方案

Redis通常是用來做緩存來使用的,使用緩存可以顯著的提高程序的性能。但是在高併發的時候也容易出現一些問題。 緩存雪崩 緩存雪崩的問題可能是最常見的問題了,大家可能都遇到過。所謂緩存雪崩指的是大量key在同一時間大面積失效,請求緩

原创 Redis之持久化機制(RDB和AOF)

因爲Redis是內存數據庫,將自己的數據庫狀態都存在了內存中,如果不想辦法將存在內存中的數據庫狀態保存到磁盤裏,如果出現了斷電或者服務器宕機的情況,那麼在內存中的數據庫狀態也會消失不見。爲了解決這個問題,Redis提供了兩種解決方

原创 Redis之內存淘汰機制和過期策略

之前的文章聊了一下redis的基本數據結構和兩種特殊的數據結構,這篇文章主要分析一下redis的內存淘汰機制和緩存過期策略。 緩存就是第一次請求數據庫之後直接將取到的數據放到內存中,然後每次從內存中取數據,從而加快了速度,直接的提

原创 Redis之基本數據類型及其數據結構

一直都有使用Redis,但是都停留在使用層面上,對其Redis的數據機構和原理並沒有做過深入的研究,所以打算系統的學習一些Redis的核心知識點並記錄下來。 redisObject數據結構 redisObject 是 Redis

原创 Redis之BitMap

之前介紹了基本數據類型及其數據結構,這篇文章主要介紹一下一種應用於特殊場景的對象:BitMap。 首先思考一下這個應用場景應該怎麼解決: 今天有哪些用戶登錄了? 如果不使用redis,常見的解決方案就是建一個日誌表,然後記錄對

原创 Redis之主從複製的實現

Redis高可用的方案包括持久化、主從複製(及讀寫分離)、哨兵和集羣。這邊文章就來介紹一些Redis的複製功能。 在Redis中,用戶可以通過執行SLAVEOF命令或設置salveof選項,讓一個服務器去複製另一個服務器,我們稱被

原创 Dubbo進階(十五):Dubbo總結

最近針對Dubbo中核心的知識點做了一次系統的學習,現對本次學習Dubbo的過程做一次總結。 Dubbo的定位 Dubbo的定位是一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯

原创 Redis之事務的實現

Redis事務和數據庫的事務嚴格意義來說是不一樣的,Redis的事務是通過一組命令的集合,Redis事務提供了一種將多個命令請求打包,然後一次性的、按順序的執行多個命令的機制,並且在事務執行期間,服務器不會中斷事務而去執行其他客戶

原创 Redis之布隆過濾器(BloomFilter)

在實際的開發中通常會遇到數據去重的問題,比如判斷用戶是不是新用戶,哪些用戶登陸過系統等等這些類似的問題,比較容易想到的解決方案如下: 使用set,但是數據量比較大的時候會非常浪費內存,並且性能也不高 使用之前提到的BitMap,

原创 Redis之I/O多路複用技術(multiplexing)

在面試中通常會有這樣子的場景 ↓↓↓↓↓↓ 面試官:看你的簡歷寫到項目中有用到redis,可以聊聊redis嗎 求職者:可以哇。我在項目中主要使用了redis做商品信息的緩存,我會先從緩存中拿商品信息,如果緩存失效了再去數據庫拿

原创 JVM學習筆記——G1

什麼是G1 Garbage-First收集器是一個並行、併發和增量壓縮低停頓的垃圾收集器。 G1的Java堆佈局和HotSpot VM中其他垃圾收集器有着極大的不同,它將Java的堆分成相同的塊(稱爲區域,Region)。 G1也

原创 Java多線程進階(六):Volatile

在多線程併發編程中 synchronized 和 volatile 都扮演着重要的角色,volatile 是輕量級的 synchronized,它在多處理器開發中保證了共享變量的“可見性”。 內存可見性 內存可見性,指的是線程之