原创 終於明白阿里百度這樣的bat,爲什麼喜歡面試拿ThreadLocal考驗面試者了

ThreadLocal 簡介 ThreadLocal 是一個解決多線程併發問題的工具類,ThreadLocal有的人可能理解爲本地線程,這個並不是正確的理解。ThreadLocal並不是一個線程,應該把它理解爲一個線程本地變量。

原创 阿里P6+的Mysql鎖機制二面試總結,值得收藏

前言 前幾天有粉絲和我聊到他找工作面試大廠時被問的問題,因爲現在疫情期間,找工作也特別難找。他說面試的題目也比較難,都偏向於一兩年的工作經驗的面試題。 他說在一面的時候被問到Mysql的面試題,索引那塊自己都回答比較滿意,但是問到

原创 看完這篇Redis緩存三大問題,保你面試能造火箭,工作能擰螺絲。

前言 日常的開發中,無不都是使用數據庫來進行數據的存儲,由於一般的系統任務中通常不會存在高併發的情況,所以這樣看起來並沒有什麼問題。 一旦涉及大數據量的需求,如一些商品搶購的情景,或者主頁訪問量瞬間較大的時候,單一使用數據庫來保存

原创 面試官:聽說你sql寫的挺溜的,你說一說查詢sql的執行過程。

當希望Mysql能夠高效的執行的時候,最好的辦法就是清楚的瞭解Mysql是如何執行查詢的,只有更加全面的瞭解SQL執行的每一個過程,才能更好的進行SQl的優化。 當執行一條查詢的SQl的時候大概發生了一下的步驟: 客戶端發送查詢

原创 還在學JVM?我都幫你總結好了(附腦圖)

本文腦圖 運行時數據區模型 在java虛擬機中把內存分爲若干個不同的數據區域。這些區域有各自的用途,有些區域隨着虛擬機進程啓動而存在,有些區域則依賴用戶線程的啓動和結束而建立和銷燬。在JVM中主要分爲以下幾個區域: 程序計數器

原创 又出事了?網站被攻擊了?高中生?

北京時間2020年3月27日9點整,如往常一樣來到公司,帶開電腦,正準備打開Github網站看一會源代碼,再開始手頭的工作。喲吼,一直打不開,一直出現如下頁面: 我想很多網友也嚐到了甜頭,各大技術羣炸開了鍋,據網友反饋有攻擊者正

原创 SpringBoot整合三大組件(Servlet、Listener、Filter)

更多資源和教程請關注公衆號:非科班的科班。 如果覺得我寫的還可以請給個贊,謝謝大家,你的鼓勵是我創作的動力 3.SpringBoot整合Servlet 3.1.方式一 步驟: 寫一個類MyFirstServlet繼承Http

原创 最詳細的Redis五種數據結構詳解(理論+實戰),建議收藏。

本文腦圖 前言 Redis是基於c語言編寫的開源非關係型內存數據庫,可以用作數據庫、緩存、消息中間件,這麼優秀的東西客定要一點一點的喫透它。 關於Redis的文章之前也寫過兩篇,閱讀量和讀者的反映都還可以,其中第一篇是Redis

原创 萬字長文的Redis五種數據結構詳解(理論+實戰),建議收藏。

本文腦圖前言Redis是基於c語言編寫的開源非關係型內存數據庫,可以用作數據庫、緩存、消息中間件,這麼優秀的東西一定要一點一點的喫透它。關於Redis的文章之前也寫過三篇,閱讀量和讀者的反映都還可以,其中第一篇是Redis的緩存三大問題

原创 你要的Mysql優化提高筆記整理,來自於一位大佬的筆記

概述 對於mysql的優化是一個綜合性的技術,sql的優化只是其中的一種,其中主要包括 : 表的設計合理化(符合3大範式)。 添加索引(index) [普通索引、主鍵索引、唯一索引unique、全文索引]。 分表技術(水平分割、

原创 我以爲我對Mysql事務很熟,直到我遇到了阿里面試官

前言 迎面走來了一個風塵僕僕的身穿格子衫的男子,手裏拿着一個MacBook Pro,看着那稀少的髮量,和那從容淡定的眼神。 我心裏一顫,我去,這是架構師,架構師來面我技術面,我心裏頓時不淡定了,表面很穩實則心裏慌得一批。 果然,他

原创 Java動態代理和Cglib動態代理最強王者陣容

前言 上一篇講解了反射的知識[],作爲反射的入門級,然後這一篇主要也是講解動態代理的實現機制。 動態代理包括jdk的動態代理和cglib 的動態代理,兩者實現相同的功能,但是實現方式卻是有明顯的區別。 下面我們就通過代碼的方式層

原创 理解Java反射的正確姿勢

反射簡介 反射是Java的高級特性之一,但是在實際的開發中,使用Java反射的案例卻非常的少,但是反射確實在底層框架中被頻繁的使用。 比如:JDBC中的加載數據庫驅動程序,Spring框架中加載bean對象,動以及態代理,這些都使

原创 深入剖析AQS和CAS,看了都說好

前言 不知不覺寫文章已經快半年了,本來之前寫文章只是爲了自己總結知識,不知不覺中關注的朋友越來越多了。 現在寫文章不單單只是爲了考慮自己能看懂,還要考慮各位讀者大大是否能看懂,考慮輸出文章的質量。 現在的每一次寫作就好像在搞一次藝

原创 深入理解Java併發之synchronized底層實現原理

synchronized簡介 synchronized 是Java語言的一個關鍵字,它本身的意思爲同步,是用來保證線程安全的,可用來給對象和方法或者代碼塊加鎖,當它鎖定一個方法或者一個代碼塊的時候,同一時刻最多隻有一個線程執行這段