原创 微服務架構下靜態數據通用緩存機制 原 薦

在分佈式系統中,特別是最近很火的微服務架構下,有沒有或者能不能總結出一個業務靜態數據的通用緩存處理機制或方案,這篇文章將結合一些實際的研發經驗,嘗試理清其中存在的關鍵問題以及探尋通用的解決之道。 什麼是靜態數據 這裏靜態數據是指不經常發生

原创 Java併發(9)- 從同步容器到併發容器 原

引言 容器是Java基礎類庫中使用頻率最高的一部分,Java集合包中提供了大量的容器類來幫組我們簡化開發,我前面的文章中對Java集合包中的關鍵容器進行過一個系列的分析,但這些集合類都是非線程安全的,即在多線程的環境下,都需要其他額外的手

原创 Java併發--- 簡單聊聊JDK中的七大阻塞隊列 原

JDK中除了上文提到的各種併發容器,還提供了豐富的阻塞隊列。阻塞隊列統一實現了BlockingQueue接口,BlockingQueue接口在java.util包Queue接口的基礎上提供了put(e)以及take()兩個阻塞方法。他的主要

原创 併發中的volatile 原 薦

1. 概述 由於線程有本地內存的存在, 一個線程修改的共享變量不會及時的刷新到主內存中, 使得另一個線程讀取共享變量時讀取到的仍舊是舊值, 就導致了內存可見性問題. 現在volatile就可以解決這個問題, 爲什麼能解決內存可見性問題呢?

原创 寫好JavaScript條件語句的5個技巧 原

1、使用Array.includes處理多種條件 讓我們來看一下的例子: // conditionfunction test(fruit) { if (fruit == 'apple' || fruit == 'strawberry')

原创 兼容 Spring Boot 1.x 和 2.x 配置類參數綁定的工具類 SpringBootBindUtil 原

爲了讓我提供的通用 Mapper 的 boot-starter 同時兼容 Spring Boot 1.x 和 2.x,增加了這麼一個工具類。 在 Spring Boot 中,能夠直接注入 XXProperties 類的地方不需要使用這個工具

原创 線程基礎:多任務處理——MESI協議以及帶來的問題:僞共享 原

1、概述  本文和後續文章將着眼CPU的工作原理闡述僞共享的解決方法和volatile關鍵字的應用。 2、複習CPU工作原理 2.1、CPU工作原理 要清楚理解本文後續內容,就需要首先重新概述一下JVM的內存工作原理。當然JVM的內存模型是

原创 1024我們的碼農節-向自己致敬! 原

一、blog主有話要說   作爲(真正)入贅程序屆的第一年, 對明天的1024碼農節有很多話想說.比如: 給各位辛苦大佬們講幾個咱們程序屆段子 給自己立一個flag, 明年的1024爭取少掉點甚至不掉頭髮! 共同探討程序屆高居不下的兩大

原创 Java:關於Static靜態關鍵字的那些小事 原

前言 在Java中,靜態 Static關鍵字使用十分常見 本文全面 & 詳細解析靜態 Static關鍵字,希望你們會喜歡 目錄 1. 定義 一種 表示靜態屬性的 關鍵字 / 修飾符 2. 作用 共用、共享 能有此作用的原因分析:

原创 Redisson分佈式鎖實現 轉

1.  基本用法 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.8.2</

原创 Java性能問題定位 原

一句話總結:從問題現象爲入口,歸結爲3類問題進行定位分析:內存滿、CPU高、線程阻塞。 首先先介紹下jvisualvm這款jdk自帶的性能工具。通常我們要定位哪塊代碼性能差,耗時久,最原始的辦法就是在各個方法前後日誌打印時間戳並計算耗時,這

原创 Ribbon 框架簡介及搭建(沒有與SpringCloud整合,獨立使用) 原

Ribbon簡介 1.  負載均衡框架,支持可插拔式的負載均衡規則 2.  支持多種協議,如HTTP、UDP等 3.  提供負載均衡客戶端 Ribbon子模塊 1.  ribbon-core(ribbon的核心,主要包含負載均衡器、負載均

原创 MyBatis 爲什麼需要通用 Mapper ? 轉

一、通用 Mapper 的用途 ? 我個人最早用 MyBatis 時,先是完全手寫,然後用上了 MyBatis 代碼生成器(簡稱爲 MBG),在使用 MBG 過程中,發現一個很麻煩的問題,如果數據庫字段變化很頻繁,就需要反覆重新生成代碼,

原创 Spring Developer Tools 源碼分析:一、文件目錄監控設計 原

Spring Developer Tools 源碼分析 Spring Developer Tools,後續簡稱爲 devtools,這個工具不僅好用,而且在這個工具的源碼中,也有很多非常有學習價值的設計,本系列會逐個分析 devtools

原创 Nginx反代Mogilefs分佈式儲存示例 原 薦

一、分佈式存儲系統簡介   隨着信息技術不斷的發展,給我們帶來便利的同時,不斷增加的數據量級、信息之間的連接關聯越來越複雜、數據訪問的併發量日益增加對I/O的要求越來越高、數據類型越來越複雜等難題也成爲信息技術繼續高速發展亟需解決的難題。