原创 徹底搞懂數據庫內連接、外連接

文章目錄一、定義1、內聯接2、外聯接3、交叉聯接二、示例 一、定義 1、內聯接 典型的聯接運算,使用像 = 或 <> 之類的比較運算符。包括相等聯接和自然聯接。 內聯接使用比較運算符根據每個表共有的列的值匹配兩個

原创 二分查找算法的萬能公式(LeetCode35、704、1095)

二分查找常常用於有序數組的查找操作。當然如果是一個問題,數組的順序滿足特定條件(不僅僅是升序或者降序,也可以是先升後降或先降後升),就可以通過逐步排查,縮小問題的規模的方式找到,這種算法也是二分查找算法。 PS:不想看過程的,

原创 史上最全!20/21屆春招/秋招 實習/校招 JAVA面試全攻略!複習回顧這一篇就夠了!

寫在前面: 之前寫過一篇Java面試知識點彙總,由於我不斷補充,現在知識點已經比較龐雜,很多人私信我,說那一篇全是知識點太過龐雜,問我有沒有整合的。正好春招和秋招在即,我花費了幾個月的時間,把知識點整合成不同的模塊並針對不同的知

原创 搞懂回溯算法思想(LeetCode46、47、980)

一、回溯介紹 1.定義 搜索與回溯是計算機解題中常用的算法,很多問題無法根據某種確定的計算法則來求解,可以利用搜索與回溯的技術求解。回溯是搜索算法中的一種控制策略。 它的基本思想是:爲了求得問題的解,先選擇某一種可能情況向

原创 JVM 參數及調優

調優基本概念 在調整 JVM 性能時,通常有三個組件需要考慮: 堆大小調整 垃圾收集器調整 JIT 編譯器 大多數調優選項都與調整堆大小和選擇合適的垃圾收集器有關,JIT 編譯器對性能也有很大影響,但很少需要對其進行調優,

原创 Linux 查看文件大小 5 個常用命令

1. 前言 Linux 系統有非常好用的命令,功能也非常豐富,如果你對命令行工具熟悉,可以非常高效率完成維護工具。本文主要介紹 Linux 系統中,用於查看文件大小的命令。 Linux 查看文件大小 5 個常用命令 2. 使用

原创 IO多路複用的兩種模式:水平觸發和邊緣觸發

在 linux 的 IO 多路複用中有水平觸發,邊緣觸發兩種模式 水平觸發 (level-trggered) 只要文件描述符關聯的讀內核緩衝區非空,有數據可以讀取,就一直髮出可讀信號進行通知, 當文件描述符關聯的內核寫緩衝

原创 LeetCode55 跳躍遊戲、LeetCode45跳躍遊戲(進階版)

LeetCode55 跳躍遊戲 【題目】 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 【樣例】 輸入: [2,3,1,1,4] 輸出:

原创 LeetCode56.合併區間

【題目】 給出一個區間的集合,請合併所有重疊的區間。 【示例】 輸入: [[1,3],[2,6],[8,10],[15,18]] 輸出: [[1,6],[8,10],[15,18]] 解釋: 區間 [1,3] 和 [2,6] 重疊

原创 【面試刷題-力扣經典】動規:221. 最大正方形

【題目】 在一個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。 輸入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 輸出: 4 【思路】 dp[x][y] 代表的

原创 Java求指定精度的開根號運算

原理是二分法不斷迭代: 取max爲指定值target,min爲1,精度要求m;取min和max的中點mid,當midmid>target,把max設定爲mid;當midmid<target,把min設定爲mid。然後max和min

原创 ConcurrentHashMap 的實現原理 (JDK1.7 和 JDK1.8)

HashMap、CurrentHashMap 的實現原理基本都是 BAT 面試必考內容,阿里 P8 架構師談:深入探討 HashMap 的底層結構、原理、擴容機制深入談過 hashmap 的實現原理以及在 JDK 1.8 的實現區

原创 快速求最大公約數和最小公倍數

輾轉相除法 輾轉相除法又名歐幾里得算法(Euclidean algorithm),目的是求出兩個正整數的最大公約數。 這條算法基於一個定理:兩個正整數 a 和 b(a 大於 b),它們的最大公約數等於 a 除以 b 的餘數 c 和

原创 Redis 和 Mysql 數據庫數據如何保持一致性

        在高併發的業務場景下,數據庫大多數情況都是用戶併發訪問最薄弱的環節。所以,就需要使用 redis 做一個緩衝操作,讓請求先訪問到 redis,而不是直接訪問 Mysql 等數據庫。這樣可以大大緩解數據庫的壓力。具體

原创 【面試刷題-力扣經典】LeetCode42:接雨水

單調棧、動態規劃 【題目】 給定 n 個非負整數表示每個寬度爲 1 的柱子的高度圖,計算按此排列的柱子,下雨之後能接多少雨水。 【輸入】: [0,1,0,2,1,0,1,3,2,1,2,1] 【輸出】: 6 【解法一】:暴