原创 Netty框架基礎----BIO阻塞式IO介紹,示意圖和demo實例

一.Java的IO模型 什麼是IO模型? I/O 模型簡單的理解:就是用什麼樣的通道進行數據的發送和接收,很大程度上決定了程序通信的性能 Java支持的三種網絡編程模式: BIO: 同步並阻塞(傳統阻塞型),服務器實現模式爲一

原创 Netty框架基礎----NIO非阻塞式IO介紹,示意圖和demo實例

一.NIO介紹 Java NIO 全稱 java non-blocking IO,是指 JDK 從 JDK1.4 開始提供的新 API。Java 提供了一系列改進的輸入/輸出的新特性,被統稱爲 NIO(即 New IO),是

原创 Java併發編程之JUC輔助類CyclicBarrier------循環柵欄 一個例子看懂

一.場景引入 只有收集到七顆龍珠,才能召喚神龍! 現在有七個線程負責尋找龍珠,我們需要在所有龍珠都找到的情況下,纔打印出語句召喚神龍: 二.代碼示例 public static void main(String[] args)

原创 一個例子講明白線程池ThreadPoolExecutor的七大參數-----面試必考

一.線程池的參數指的是什麼 之前我們提到過線程池的實現類就是ThreadPoolExecutor,它是繼承自AbstractExecutorService類的,實現了ExecutorService接口。 其實線程池的參數指的就是

原创 算法套路學習之BFS廣度優先搜索

來源:https://leetcode-cn.com/problems/open-the-lock/solution/wo-xie-liao-yi-tao-bfs-suan-fa-kuang-jia-jian-dao-/ 又是看這

原创 MYSQL中的MyISAM與InnoDB存儲引擎區別整理

一.介紹 MySQL 教程 MySQL 是最流行的關係型數據庫管理系統,結構如下: 這個圖簡略的表示了Mysql的體系結構,其中mysql的存儲引擎面試經常問,所以下面整理一下 二.對比 1.表鎖和行鎖 Innodb支持行級鎖

原创 算法套路學習之回溯算法-----包括常見題目記錄

來源:https://www.cnblogs.com/labuladong/p/12320463.html 我是看這個大佬的博客學習到的,下面我自己總結一下,並且記錄一下遇到的使用回溯的題目,驗證一下這個套路的可行性。一直比較討厭

原创 Java多線程與併發知識點-----鎖的“升級”是什麼?

一.前置知識 java對象頭 在JVM中,實例對象在內存中的佈局分爲三塊區域:對象頭、實例變量和填充數據。如下: 對象頭:Hotspot虛擬機的對象頭主要包括兩部分數據:Mark Word(標記字段)、Klass Pointe

原创 2021屆Java開發求職-------面試實戰之美團財務實習

一.介紹 暑期實習的面試,看了一下考併發包知識比較多,正好我藉機複習一下JUC 二.正文 一面 2h 實習項目難點,搭建框架時候的難點 略 項目開發過程中遇到的難點,數據標註平臺開發 中的邏輯,怎麼發現有問題的,標註批次計數? 略

原创 如何遍歷一個HashMap------遍歷的五種方式

一.前言 HashMap無論是在工作中還是在面試中都非常常用,下面介紹一下遍歷一個HashMap的四種方式 二.代碼 1.通過keySet來遍歷所有的value Map<String, String> map = new Has

原创 常用八種排序總結(Java版本)

前言 說實話還是爲了準備(可能有的)面試,哈哈,先把常用的總結一下。我想的是這樣:排序算法應該要經常手撕,所以可以在markdown編輯狀態下經常寫,然後和文章裏的對一下,這樣效果可能比較好。 1.複雜度,穩定性總結 注意:一

原创 2021屆Java開發求職-------面試實戰之阿里實習

介紹 網上完整的少(都是一面二面) 我就挑一些吧 1、 synchronized和lock的區別 2、 spring bean加載 3、 介紹一下nio 4、 雙親委派機制,如何只有自己加載 5、 兩個String類如何區分 6、

原创 2021屆Java開發求職-------面試實戰之美團數據平臺

一.前言 雖然從大三開始就實習好久了,但是現在可能也面臨找工作(假如現在沒法轉正的話),所以找點面經鞏固一下知識,嘿嘿,算法也要看,每天一道leetcode先吧 二.具體內容 這是一份美團的 鏈接:https://www.now

原创 Java8新特性之Stream流式編程----附API應用實例

一.Stream介紹 Java 8 API添加了一個新的抽象稱爲流Stream,可以讓你以一種聲明的方式處理數據 Stream 使用一種類似用 SQL 語句從數據庫查詢數據的直觀方式來提供一種對 Java 集合運算和表達的高階抽

原创 Netty基礎----零拷貝是什麼?傳統I/O及其優化

一.概念介紹 DMA(直接存儲器訪問) : DMA傳輸方式無需CPU直接控制傳輸,也沒有中斷處理方式那樣保留現場和恢復現場的過程,通過硬件爲RAM與I/O設備開闢一條直接傳送數據的通路,使CPU的效率大爲提高 內核態 :cpu