原创 ThreadLocal淺入淺出

一、概述 ThreadLocal類用來提供線程內部的局部變量。這些變量在多線程環境下訪問(通過get或set方法訪問)時能保證各個線程裏的變量相對獨立於其他線程內的變量,ThreadLocal實例通常來說都是private sta

原创 【LeetCode】把字符串 s 中的每個空格替換成““%20””day02

題目 請實現一個函數,把字符串 s 中的每個空格替換成"%20"。   示例 1: 輸入:s = "We are happy." 輸出:"We%20are%20happy." 解答過程 當我看到這道題的第一個思路是:將這個

原创 終於搞懂HashMap的源碼了!!!

背景 HashMap是我們在平時開發最常用的容器之一,但是我們有真正瞭解過他嗎?他是線程安全的嗎?他是以何種方式來存儲的呢?爲什麼初始化的容器大小時2的n次冪呢?他是如何進行擴容的呢?他是如何實現併發安全呢?等等一系列問題。正是知

原创 【LeetCode】找出數組中重複的數字day01

題目 找出數組中重複的數字。 在一個長度爲 n 的數組 nums 裏的所有數字都在 0~n-1 的範圍內。數組中某些數字是重複的, 但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複的數字。 示

原创 Spring boot 集成apollo達到配置的熱加載

背景 我們的系統集成了攜程的配置中心Apollo 讓我們在開發和迭代中得到了很大的方便。尤其是配置的熱加載。讓我們避免了多次生產發佈的情況。他擁有可視化的配置界面(以Key-value的形勢)。這篇文章的主要目的是看apollo是

原创 ApplicationContext 和beanFactory 和 factoryBean的區別以及聯繫

背景 最近有看一些面試題,很多框架都有提到三者的關係和區別。所以今天打算看一下。 簡單描述 beafactory是Spring IOC中的基礎容器,用來解析BeanDefination存放bean的容器,還會對外提供一些操作bea

原创 坑爹的一次堆內存分析!!

背景 突然dingding 嗡嗡作響。內心一顫,打開一看。我早有一臺服務內存95。 機會來了,露一手。 grafana 先觀察了下。是慢慢的張上來的。說明有內存泄露。 jps ,jstat 。命令baba一敲。一看機器起了20多天

原创 redis的持久化存儲RDB的原理分析

背景 想到redis,你的第一反應是什麼呢?redis很快,我們一般一用它做緩存,再想想他爲什麼快呢?也許你的第一反應和我的第一反應是一樣的,因爲他是基於內存存儲的,IO多路複用等。那麼既然是基於內存存儲的,那要是redis當宕機

原创 redis的持久化存儲AOF的原理

背景 上篇文章我們將了RDB的原理,這節來看看AOF。 AOF字面的意思是,append only file僅追加文件。 AOF 是以協議文本的方式,將所有對數據庫進行過寫入的命令(及其參數)記錄到 AOF 文件,以此達到記錄數據

原创 BIO到NIO的演變過程

背景 學習任何東西之前都得知道他是爲什麼而產生的。任何一個設計,或技術。都是爲了解決某個或多個問題而產生的。即BIO到NIO到多路複用再到epollo 再到netty網絡編程框架。今天我們來看看這個演進的過程。 IO的演進 下圖是

原创 秒懂Java併發和線程安全

背景 在平時寫代碼的時候我們經常會說“這會不會有線程安全問題,是不是得加把鎖呢?”,細細的品一下這句話,是包涵很多知識點在裏面。線程?,線程安全?,什麼時候纔會出現線程安全?Java中的鎖? 等等。 知識點 什麼是線程? ”線程

原创 final關鍵字你真的會用?

背景 codeReview的時候,看到各種final關鍵字的”騷“操作,今天認真複習一下final關鍵字。 我們都知道final關鍵字可以使用到類上,也可以使用道方法上,也可以使用到數據上,但是他的使用會爲我們提供哪些好處呢? f

原创 520初識MongoDB

背景 由於我們在開發的過程中難免會遇到數據庫選型的問題,那麼數據庫的選型那我們必須通過結合我們的業務場景還有他們的設計初衷,及各自在各個方面的優勢。現在我們就在業務開發中遇到了選擇 mongoDB還時MYsql。之前沒有怎麼了解過

原创 中流砥柱java的動態代理

背景 在我們學習Spring框架的時候我們是否思考過,Spring是如何實現bean實列注入到IOC容器中呢?我們如何去 權威指南 代理是基本的設計模式之一,他是爲了提供額外的或不同的操作,而插入的用來代替“實際”對象的對象。這些

原创 以正確姿勢理解區塊鏈技術?

背景 今天在看了一個視頻《全球區塊鏈全球生態技術大會》中的騰訊雲通過區塊鏈技術實現了一個針對於企業服務的Tbaas區塊鏈基礎服務平臺。(視頻地址:https://time.geekbang.org/dailylesson/deta