原创 【軟件測試】Junit 理論+實踐 —— 適合初學者的單元測試

Junit一、Junit測試前期準備1. 什麼是Junit2. 開啓Junit二、JUnit 理論知識1. Junit可以用來幹什麼?2. 重要API(1)Assert類(2 )TestCase類(3)TestResult 類(4

原创 【操作系統】操作系統 高頻考點總結歸納

🚩操作系統的四個特性? 併發:同一段時間內多個程序執行 共享:系統中的資源可以被內存中多個併發執行的進線程共同使用 虛擬:通過分時複用(如分時系統)以及空分複用(如虛擬內存)技術把一個物理實體虛擬爲多個 異步:系統進程用一種走走

原创 【Java 多線程】線程池 —— 詳解線程池原理和使用

Java線程池是運用最多的併發框架,學號多線程以及合理的使用多線程可以帶來很大的好處,今天就來一起學習線程池相關的知識吧! 線程池一、線程池的實現原理二、使用線程池1. 使用線程池的好處2.線程池的創建3. 向線程池提交任務4

原创 【Java 併發】好多鎖啊!偏向鎖、輕量級鎖、重量級鎖、自旋鎖、樂觀鎖、悲觀鎖 ......

相信你和我一樣,一開始學習這些鎖的時候暈頭轉向,各種各樣鎖層出不窮,所以在我學習了這些知識後,特意來總結自己的學習記錄,供大家參考學習。今天講解:偏向鎖、輕量級鎖、重量級鎖、自旋鎖、樂觀鎖、悲觀鎖、公平鎖、非公平鎖、讀寫鎖、可重

原创 【MySQL數據庫】談談事務的隔離級別有什麼?

分析了一些面試題,發現關於事務的隔離級別問的也很頻繁,於是就特地來學習這一塊的知識,並進行總結整理自己的思路,希望會對有需要的人有一些幫助。 事務的隔離級別一、所謂事務二、隔離性與隔離級別三、避免使用長事務 一、所謂事務 事務

原创 【MySQL數據庫】一條SQL語句爲什麼執行這麼慢?

面試高頻題目,一條SQL語句爲什麼執行這麼慢? 這其中涉及的知識也是各種各樣,今天就讓我們來完全剖析這個問題。 一條SQL語句爲什麼執行這麼慢?一、執行偶爾變慢1. 刷髒頁,寫磁盤2. 還在等鎖3. 回滾日誌過多二、執行總是很

原创 【MySQL數據庫】普通索引和唯一索引的區別?

上一節,我們學習了關於索引的基本知識——>數據庫必學——關於MySQL索引的基礎知識都在這!介紹了索引的一些知識,這次我們繼續學習數據庫索引,今天主要探討一下在MySQL中,使用普通索引和唯一索引有什麼不一樣的地方,幫助大家更深

原创 【MySQL數據庫】數據庫必學——關於MySQL索引的基礎知識都在這!

學習MySQL都逃不過索引,正確的使用索引可以優化增刪改查等操作的效率。索引的知識不僅重要也很多,包括索引的模型,索引的存儲方式以及主鍵索引普通索引等知識,都是需要了解了,我總結了自己學習索引的知識供大家參考學習。 數據庫索引

原创 【Java基礎】Java基礎 面試高頻考點總結

總結的Java基礎部分高頻的知識(持續更新) 基礎 📌什麼是面向對象?有什麼特性? 面向對象就是把事物給對象化,包括其屬性和行爲。面向對象又三大特徵,分別是:封裝、繼承、多態。 封裝: 就是指將對象的實現細節隱藏起來,通過

原创 【算法與數據結構】萬字長文總結——圖解那些讓你凌亂的七大排序!

算法和數據結構在學習中的重要性是不言而喻的,而排序算法又是面試中的最常考點。由於各個方法的既有差異又有相同以及各自的時間複雜度和空間複雜度都很容易讓人混淆,今天自己也將所有的算法總結起來整理歸納,希望能幫到大家。 七大排序一、

原创 【Java進階知識】Java中涉及到的對象比較

在Java中,我們常常涉及到對象的比較問題,總體來說就兩種:一種是比較是否相等,另一種就是比較兩個對象之間的大小關係。接下來一一介紹: 一、相等比較 通常我們在比較兩個對象是否相等時,用到的就是“==”運算符和Object類下

原创 【源碼學習】深入剖析核心源碼之 ConcurrentHashMap(JDK1.7 和JDK1.8)

面試中常被問到的數據結構就是哈希表,一般都是先問HashMap,再接着問ConcurrentHashMap,所以深入學習源碼以及相關的知識是很重要的。 大家也可以參考我之前的 深入剖析核心源碼之 HashMap 源碼學習之 C

原创 【Java習題】關於樹的簡單、中等、常見題目彙總

這幾天在刷樹相關的習題,今天來整體的總結一下關於樹的題目。 首先給出了樹的節點定義: public class TreeNode { int val; TreeNode left; TreeNod

原创 【Java多線程】 CAS —— 一文了解CAS到底是什麼

學過多線程就會接觸到併發,併發再多線程中的重要性不言而喻,在Java中還有併發包,裏面實現了各種各樣的方法來幫助我們解決多線程帶來的各種問題。而要想讀懂這些底層問題,CAS是繞不過的知識,大多底層都是以CAS來實現的。今天就帶大

原创 【Java多線程】 Java中atomic包下的原子操作類

多線程使用會導致不安全,其中原子性就是一個不可以破壞的。原子性指的是一條指令不可以再被分割成多個操作,而是一起完成也就是要麼全部執行成功要麼全部執行失敗。我們常見的不滿足原子性的操作就是對共享變量進行 i++。通常我們使用syn