原创 EXPLIAN-修訂版

查詢優化必備神器—EXPLAIN 學習解釋EXPLAIN將幫助你瞭解MySQL優化器是如何工作的。要使用EXPLAIN,只需要在查詢的SELECT關鍵字之前加上EXPLIAN這個詞,MySQL會在查詢上設置一個標誌。當執行一個查詢

原创 高級架構師必會——Redis(緩存)

一、在講解Redis相關知識之前,先給大家介紹下什麼是緩存。 緩存是爲了解決數據庫服務器和web服務器之間的瓶頸。如果一個網站的流量很大,這個瓶頸將會非常明顯,每次數據庫查詢耗費的時間將會非常可觀。對於更新速度不是很快的網站,我

原创 LIMIT 10000,10會發生什麼?

LIMIT分頁優化 進行分頁操作時,通常都會通過偏移量來查詢某些數據。然後再加上合適的order by子句, order by的列加上了索引,性能一般都不錯,而如果沒有對應的索引的話,MySQL則需要做大量的文件排序操作,對於文件

原创 當你在Web瀏覽器中輸入一個URL,發生了什麼?

當你在Web瀏覽器中輸入一個URL,發生了什麼? 分爲8步來回答: 1、瀏覽器(客戶端)進行地址解析。 2、將解析出的域名進行dns解析。 3、通過ip尋址和arp,找到目標(服務器)地址。 4、進行tcp三次握手,建立tcp連接

原创 聊聊你對AQS的瞭解

AQS是一個併發包的基礎組件,用來實現各種鎖,各種同步組件的。 包含了state變量、加鎖線程、等待隊列等併發中的核心組件。 AQS全稱是隊列同步器AbstractQueuedSynchronizer,是用來構建鎖或者其他同步組件

原创 終於搞懂了——BASH內核

BASH作爲學習Linux進階的必要之路,今天俺就帶你們瞧瞧Linux的內核到底有啥? 不廢話,先上圖 命令編修命令 (history): 最大的好處就是可以『查詢曾經做過的動作!』 如此可以知道你的執行步驟,那麼就可以追蹤你曾

原创 分享一篇寫的文章

作者:hsm_computer https://urlify.cn/B77RZr 在上週,我密集面試了若干位Java後端的候選人,工作經驗在3到5年間。我的標準其實不復雜:第一能幹活,第二Java基礎要好,第三最好熟悉些分佈式框架

原创 什麼是線程池——第一篇

Java中的線程池是運用場景最多的併發框架,幾乎所有需要異步或併發執行任務的程序都可以使用線程池。 線程池的三個好處: 降低資源消耗。通過重複利用已創建的線程降低線程創建和銷燬造成的消耗。 提高響應速度。當任務到達時,任務

原创 MySQL的複製功能

複製解決的問題是讓一臺服務器的數據與其他的服務器保持同步。一臺主庫的數據可以同步到多臺備庫上去,備庫本身也可以被配置成另外一臺服務器的主庫。 從集中到分佈,最基本的一個需求不是數據存儲的瓶頸,而是在於計算的瓶頸,即SQL查詢的瓶頸

原创 常見面試題

對Java內存模型的理解,以及在併發中的應用 Java內存模型主要分爲工作內存和主內存,Java內存模型規定所有的變量都存儲在這個主內存中,每個線程有自己的工作內存,工作內存保存了主內存的拷貝,線程中對變量的操作必須在工作內存中,不能直接

原创 數據庫鎖

數據庫鎖一般可以分爲兩類,一個是悲觀鎖,一個是樂觀鎖。 樂觀鎖一般是指用戶自己實現的一種鎖機制,假設認爲數據一般情況下不會造成衝突,所以在數據進行提交更新的時候,纔會正式對數據的衝突與否進行檢測,如果發現衝突了,則讓返回用戶錯誤

原创 存儲過程

存儲過程(stored procedure)的定義 它是在大型數據庫系統中,一組爲了完成特定功能的SQL語句,它存儲在數據庫中,一次編譯永久有效。語法如下: CREATE DEFINER=`root`@`%` PROCEDURE

原创 hashmap-大廠必備

Hashmap在大廠面試中屬於必考的內容,今天花了一個下午看了它的源碼,不得不說,真的很經典。就看源碼這個問題來說吧,我和我的好基友又產生了隔閡。我認爲看hashmap的源碼是有必要的,它的底層有很多的優秀的數據結構的應用,比如說

原创 在Linux上安裝redis

將redis-3.2.5.tar.gz複製到某目錄(如:/root/Software) cd /root/Software tar xf redis-3.2.5.tar.gz 解壓之後的文件目錄 cd re

原创 事務和索引重新梳理

mysql中的事務 mysql默認採用自動提交模式,也就是說,如果不是明顯地開始一個事務,每個查詢都會被當做一個事務執行提交操作,在當前連接中,可以通過設置AUTOCOMMIT變量來啓動或者禁用自動提交模式,1表示啓動。 事務的A