原创 爲什麼mysql索引要用B+Tree數據結構

數據結構比較 二叉樹          不適合自增長索引,失去索引效率,樹單邊增長,成鏈表狀。                       (從1插入到4) 紅黑樹(平衡二叉樹)           不適合數據量大,樹太高。如果查找數據在

原创 Object o = new Object()深度解析

Object o = new Object(); 對象初始化過程 申請內存 初始化成員變量   0 設置初始值     8  對象頭包括什麼 鎖的信息 Gc標記信息 標記清除算法 GC年齡(4位最大15)  爲什麼標記清除算法標記年齡最

原创 用synchronized關鍵字加鎖

官方介紹synchronized作用:    同步方法支持一種簡單的策略來防止線程干擾和內存一致性錯誤:如果一個對象對多個線程可見,則用改對象變量的所有讀取或寫入都是通過同步方法完成的。 一句話來說: 能夠保證一段時間內只有一個線程執行該

原创 什麼是三次握手

一 。形象表示三次握手                     二。4層模型  鏈路層    常用協議ARP 網絡層      常用協議ip,用於選擇路由地址 傳輸層      常用協議tcp,udp,用於提供端對端的服務 應用層   

原创 redis常見問題以及解決方法

穿透        原因:  客戶端一直在查數據庫沒有的數據,導致沒有查緩存然後直接到了數據庫。         解決方式: 1. 布隆過濾器   :預先把數據ID全存在過濾器裏面(實時更新),當在查緩存爲空時,再判斷過濾器裏面有沒   

原创 什麼是CAS/ABA以及volatile的使用

1.CAS原理介紹 CAS全稱 比較和交換(Conmpare And Swap),它是一種思想,是樂觀鎖。 內存地址V,內存地址V中舊值C,獲取的舊預期值A,要修改的新值B, 工作內存W 我們需要把C修改成B時 首先從V中取到值進入W中時

原创 nginx1.8安裝詳細過程

1.下載組件  安裝 gcc  安裝 Nginx 的編譯環境 gcc yum install gcc-c++ 安裝 pcre pcre-devel  nginx 的 http 模塊使用 pcre 解析正則表達式,所以安裝 perl 兼容的

原创 springboot集成ES以及ES詳細解讀

Elasticsearch是一個開源的分佈式、RESTful 風格的搜索和數據分析引擎,它的底層是開源庫Apache Lucene。 一.  解讀: 1.ES全文檢索爲什麼能快速高效就是因爲有倒排索引      倒排索引會對文檔內容進行關

原创 redis緩存穿透擊穿雪崩

穿透        原因:  客戶端一直在查數據庫沒有的數據,導致沒有查緩存然後直接到了數據庫。         解決方式: 1. 布隆過濾器   :預先把數據ID全存在過濾器裏面(實時更新),當在查緩存爲空時,再判斷過濾器裏面有沒   

原创 數據庫事務的四大特性以及隔離級別

一 . 四大特性       原子性                 事務中的所有操作要麼全失敗要麼全成功,失敗了進行回滾,不會對數據庫數據改變。       一致性                  事務中的所有操作執行之前和執行之後對

原创 爲什麼mysql索引要用B+Tree(BTree)數據結構

  二叉樹          不適合自增長索引,失去索引效率,樹單邊增長,成鏈表狀。                       (從1插入到4) 紅黑樹(平衡二叉樹)           不適合數據量大,樹太高。如果查找數據在葉子節點,

原创 數據庫優化

三個大方向   1.優化sql以及數據庫設計    2.升級數據庫以及硬件   3.更換數據庫類型,更換newSQL、noSQL數據庫 大方向1之數據庫設計篇     --表庫設計      1.1 字段避免null,null值很難優化,

原创 計算機網絡一

一 。形象表示三次握手                     二。4層模型  鏈路層    常用協議ARP 網絡層      常用協議ip,用於選擇路由地址 傳輸層      常用協議tcp,udp,用於提供端對端的服務 應用層   

原创 垃圾回收算法簡介

我們知道垃圾回收主要是回收堆區的內存 1. 堆區我們分成eden區 s1 s0區  老年代 2.JVM對象的引用分爲了四種類型: (1)強引用:默認情況下,對象採用的均爲強引用(這個對象的實例沒有其他對象引用,GC時纔會被回收) (2)軟

原创 java虛擬機詳解

未完待續