原创 一次聊天引發的思考--java併發包實戰

一次聊天,談到了死鎖的解決、可重入鎖等等,突然發現這些離自己很遠,只有一些讀書時的概念涌入腦海,但各自的應用場景怎麼都無法想出。痛定思痛,決定看看concurrent包裏涉及併發的類及各自的應用場景。 第一類:原子操作類的atomic包,裏

原创 一文看透 Redis 分佈式鎖進化史(解讀 + 缺陷分析)

各個版本的Redis分佈式鎖V1.0V1.1 基於[GETSET]V2.0 基於[SETNX]V3.0V3.1分佈式Redis鎖:Redlock總結近兩年來微服務變得越來越熱門,越來越多的應用部署在分佈式環境中,在分佈式環境中,數據一致性是

原创 【直通BAT】java容器考點總結和源碼剖析

一、概覽 Collection Map 二、容器中的設計模式 迭代器模式 適配器模式 三、源碼分析 ArrayList Vector CopyOnWriteArrayList LinkedList HashMap ConcurrentHas

原创 spring boot多數據源配置(mysql,redis,mongodb)實戰

spring boot多數據源配置(mysql,redis,mongodb)實戰用Spring Boot Starter提升效率雖然不同的starter實現起來各有差異,但是他們基本上都會使用到兩個相同的內容:ConfigurationPr

原创 一份超詳細的 Java 問題排查工具單

前言 排查利器 大殺器 plugin of intellij idea VM options jar包衝突 其他 新技能get 前言平時的工作中經常碰到很多疑難問題的處理,在解決問題的同時,有一些工具起到了相當大的作用,在此書寫下來,一是作

原创 面試必會之HashMap源碼分析

簡介HashMap最早出現在JDK1.2中,底層基於散列算法實現。HashMap 允許 null 鍵和 null 值,是非線程安全類,在多線程環境下可能會存在問題。1.8版本的HashMap數據結構:爲什麼有的是鏈表有的是紅黑樹?默認鏈表長

原创 一文講清Spring Cloud 微服務架構的五臟六腑!

Spring Cloud 是一個基於 Spring Boot 實現的微服務框架,它包含了實現微服務架構所需的各種組件。注:Spring Boot 簡單理解就是簡化 Spring 項目的搭建、配置、組合的框架。因爲與構建微服務本身沒有直接關係

原创 爲什麼阿里巴巴不建議在for循環中使用"+"進行字符串拼接

本文,也是對於Java中字符串相關知識的一個補充,主要來介紹一下字符串拼接相關的知識。本文基於jdk1.8.0_181。字符串拼接字符串拼接是我們在Java代碼中比較經常要做的事情,就是把多個字符串拼接到一起。我們都知道,String是Ja

原创 這 10 道 Spring Boot 常見面試題你需要了解下

1.什麼是Spring Boot?多年來,隨着新功能的增加,spring變得越來越複雜。只需訪問https://spring.io/projects頁面,我們就會看到可以在我們的應用程序中使用的所有Spring項目的不同功能。如果必須啓動一

原创 值得收藏:一份非常完整的 MySQL 規範

一、數據庫命令規範所有數據庫對象名稱必須使用小寫字母並用下劃線分割。所有數據庫對象名稱禁止使用 MySQL 保留關鍵字(如果表名中包含關鍵字查詢時,需要將其用單引號括起來)。數據庫對象的命名要能做到見名識意,並且最後不要超過3 2 個字符。

原创 如何優雅的設計 Java 異常

導語異常處理是程序開發中必不可少操作之一,但如何正確優雅的對異常進行處理確是一門學問,筆者根據自己的開發經驗來談一談我是如何對異常進行處理的。由於本文只作一些經驗之談,不涉及到基礎知識部分,如果讀者對異常的概念還很模糊,請先查看基礎知識。如

原创 一張圖看懂 SQL 的各種 join 用法

下圖展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相關的 7 種用法。具體分解如下:1.INNER JOIN(內連接)SELECT  FROM Table_A AINNER JOIN Tabl

原创 Java併發編程73道面試題及答案 —— 面試穩了

今天主要整理一下 Java 併發編程在面試中的常見問題,希望對需要的讀者有用。1、在java中守護線程和本地線程區別?java中的線程分爲兩種:守護線程(Daemon)和用戶線程(User)。任何線程都可以設置爲守護線程和用戶線程,通過方法

原创 如何優雅的設計 Java 異常

導語異常處理是程序開發中必不可少操作之一,但如何正確優雅的對異常進行處理確是一門學問,筆者根據自己的開發經驗來談一談我是如何對異常進行處理的。由於本文只作一些經驗之談,不涉及到基礎知識部分,如果讀者對異常的概念還很模糊,請先查看基礎知識。如

原创 Redis熱點Key發現及常見解決方案!

一、熱點Key問題產生的原因1、用戶消費的數據遠大於生產的數據(熱賣商品、熱點新聞、熱點評論、明星直播)。在日常工作生活中一些突發的的事件,例如:雙十一期間某些熱門商品的降價促銷,當這其中的某一件商品被數萬次點擊瀏覽或者購買時,會形成一個較