原创 爲什麼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虛擬機詳解
未完待續