原创 都2020年了,你還不知道count(1)和count(*)誰效率更高嗎?

今天公司的一個需求需要統計一個數據庫中表的行數有多少,二話不說當然就直接用count()這個聚合函數,以前經常聽到一種說法說count(1)的效率比count(*)要高,於是測試了一下count(1)和count(*)的速度差距,發現兩者

原创 RabbitMQ學習系列(二):簡單隊列詳解

(一)RabbitMQ的使用教程 RabbitMQ的官網提供了RabbitMQ的六種創建消息傳遞應用程序的方式https://www.rabbitmq.com/getstarted.html 分別是簡單隊列、工作隊列、Publish/S

原创 作爲一個程序員需要了解多少網絡方面的基礎?網絡基礎總結(不斷更新)

面試過程中經常會被問到計算機網絡相關的知識,就打算寫一篇博客不斷總結一些計算機網絡的基礎點以及面試中常問的考點。如果文檔中存在錯誤歡迎指出,有任何補充留言私信均可以,我會不定期的添加上去。話不多說,直接進入主題: 目錄 1.OSI網絡體系

原创 java核心基礎之java反射機制詳解

(一)什麼是反射? 反射就是將類的各個組成部分封裝爲其他對象。 在詳細瞭解反射機制之前,我們先來了解一下java代碼在計算機中的運行過程: 比如當我們編寫好一個類:Student.java,裏面包含學生的姓名和年齡,構造方法,其他方法。

原创 redis入門到精通系列(六):redis的事務詳解

(一)事務的概念 談到數據庫的高級應用,不可避免會談到事務。熟悉mysql的朋友們對事務肯定不陌生,簡單來講事務就是控制一個數據庫操作序列要麼全部執行要麼全部不執行。今天我們就來了解redis中的事務是如何執行和使用的。 (二)redis

原创 java集合深入理解(三):ArrayList、Vector、LinkedList的底層源碼分析和對比

(一)List接口的概述 在前面我們講完了Collection的特點和使用,接下來就開始講Collection的子接口和實現類,List具有以下兩個特點: 1.有序(不是指按數值大小有序排列,而是指插入和取出的順序是固定的),因爲List

原创 以SpringBoot作爲後臺實踐ajax異步刷新

1.什麼是ajax 1.Ajax全稱:Asynchronous JavaScript And XML 2.是一種異步加載數據的技術 3.可以通過使用Ajax,實現頁面的局部刷新 簡單來講就是通過ajax,你不需要重新刷新整個頁面就能實現對

原创 四千字從源碼分析ConcurrentHashMap的底層原理(JDK1.8)

Map中用到最多的是HashMap,有關HashMap的介紹和底層源碼的分析可以看我之前的文章。 java集合深入理解(五):HashMap、HashTable、TreeMap的底層源碼分析和對比 HashMap有個很致命的問題就是他並非

原创 應屆畢業生因爲疫情休息在家,可以通過哪些途徑提高自己?

很久沒有再寫經驗類的博客,恰好最近有時間,就寫一篇我自己在疫情期間的學習經驗。 個人情況 我是浙江人,因爲疫情的原因原本年後就要去的實習一推再推。學校甚至發了通知,不準大四學生外出實習,甚至有一位我所在學院的同學因爲半個月前提前去實習受到

原创 RabbitMQ學習系列(一):RabbitMQ的瞭解安裝和使用

(一)概述 一般認爲,消息中間件屬於分佈式系統中一個子系統,關注於數據的發送和接收,利用高效可靠的異步消息傳遞機制對分佈式系統中的其餘各個子系統進行集成。java中常用的消息中間件有ActiveMQ、RabbitMQ、Kafka等等。 消

原创 redis入門到精通系列(八):redis的高可用--主從複製詳解

(一)主從複製介紹 前面所講的關於redis的操作都屬於單機操作,單機操作雖然操作簡單,但是處理能力有限,無法高可用。所謂高可用性,就是指當一臺服務器宕機的時候,有備用的服務器能頂替上,在單機操作上這是無法實現的,因此就出現了主從複製。

原创 RabbitMQ學習系列(四):發佈-訂閱模型詳解

(一)發佈-訂閱模型(Publish/Subscribe) 發佈訂閱模型的結構圖如下所示: 和前兩個的模型結構不同,在發佈訂閱模型中多了一個X(exchange),exchange是一個交換機,生產者不是直接將消息發送給隊列,而是先發送

原创 Spring事務管理詳解(傳播屬性、隔離級別)

(一)事務的概述 事務指作爲單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。事務在數據庫的增刪改操作中最爲常見。事務具有ACID的特性,即原子性、一致性、隔離性、持久性。通過JDBC首先來了解一下事務的運行原理: (二

原创 RabbitMQ學習系列(三):工作隊列詳解

(一)RabbitMQ工作隊列模型結構 工作隊列的模型相比簡單隊列增加了消費者的數量。 生產者提供消息到消息隊列中,消費者可以去獲取隊列中的消息。在工作隊列中默認採用輪詢分發的方式將消息分發給消費者。所謂輪詢分發,就是指不管消費者處理消

原创 redis入門到精通系列(一):入門redis看這一篇就夠了

(一)爲什麼要用Nosql 如果你是計算機本科學生 ,那麼一定使用過關係型數據庫mysql。在請求量小的情況下,使用mysql不會有任何問題,但是一旦同時有成千上萬個請求同時來訪問系統時,就會出現卡頓甚至系統崩潰的情況。最典型的例子就是早