原创 5-7月阿里,字節,招銀等面試記錄 面試流水賬 北大信息研究院 一、招銀 二、同花順 三、阿里雲 四、字節跳動 五、塗鴉智能 六、菜鳥網絡 七、螞蟻金服 八、恆生 總結

面試流水賬 因爲當初入職時公司以大數據崗位的名頭,將我低價收編,所以我主要是衝着崗位去的,在大數據沒得做的時候我就動過要走的心思,從那以後一直潛心學習。 後面因爲換了主管漸漸的淡了要走的心思,因爲新主管真的很不錯,不像原先的主管還騙我專利,

原创 多線程--精通ThreadPoolExecutor 前言 流程圖 源碼分析

前言 在多線程開發中,應該避免顯式創建線程,而是採用線程池裏面的線程。使用線程池可以減少手動創建線程,減少線程創建和回收的損耗等。那麼使用線程池就需要了解它的原理。這裏我們ThreadPoolExecutor.execute()方法內部的具

原创 web項目中攔截器的處理流程 前言 一、包圍圈和流程圖 二、Filter說明 三、HandlerInterceptor說明 四、AOP說明

前言 一、包圍圈和流程圖 二、Filter說明 package javax.servlet; import java.io.IOException; public interface Filter { default voi

原创 awk和sed指令入門 sed使用方式 awk使用方式

sed偏向於編譯文檔,awk偏向與分析文本 sed使用方式 增加 sed -i "2a line 3 " test.txt 解釋說明 (1)-i 對文件內容做變更 (2)雙引號中的2a解釋成在第二行下附加內容,a可以理解成append。 執

原创 FutureTask使用與原理 前言 一、使用方法 二、原理剖析 三、總結

前言 代碼寫到一定程度,多線程是必須要學會的,不然就是永遠的CURD鹹魚了。 生活中的多線程就像是領導一定會剝削你讓你同時做多個項目一樣,在處理多個任務時,如果幾個項目都有待定的內容時,你就不能一直僵持在某個任務上,需要來回在這些任務間切換

原创 定時器線程池(ScheduledThreadPoolExecutor) 前言 特點說明

前言 定時器線程池提供了定時執行任務的能力,即可以延遲執行,可以週期性執行。但定時器線程池也還是線程池,最底層實現還是ThreadPoolExecutor,可以參考我的另外一篇文章多線程--精通ThreadPoolExecutor。 特點說

原创 接口吞吐量監控 拉格納羅斯 最後

拉格納羅斯 一、特點 特點1 監控接口吞吐量 特點2 不需要侵入原先的代碼邏輯 特點3 有個友好的交互界面直觀的查看接口吞吐量 二、功能 <dependency> <groupId>com.github.wangcanfeng0

原创 數據庫hash分表後的擴容方案 初始化分表 建立虛擬映射 擴容 腳本語句 注意點

postgres的hash分表不停機擴容方案 原來我們hash分表之後,數據擴容採用的是rehash,這樣遷移全部的數據,比較麻煩。 本次擴容利用hash環原理,並在此基礎上做一些適應性的改動。 首先假定哈希環的範圍爲0-1023,總共10

原创 自己實現Servlet---我自己的“tomcat”

前言 看到網上有很多現成的Web容器:Tomcat、Jetty、Undertow、JBoss、WebLogic、WebSphere等,心裏就癢癢的,也想要嘗試自己寫一個。然後我就從最熟悉的Tomcat下手,先學習了一下它,不過自從上回寫了《

原创 學Springboot必須要懂的內嵌式Tomcat啓動與請求處理

前言 找了一圈也沒有找到合適內置容器源碼解讀的文章,就打算自己寫一篇,方便後面閱讀加深映像 Springboot相對於以前的Spring省去了很多配置xml的麻煩,而且還支持使用內嵌式的Servlet容器,非常的便利。既然這樣,爲了精準快速

原创 ReentrantLock和synchronized深度解析

前言 隨着現代計算機的發展,服務器的CPU物理核越來越多,以及一個物理核中有多個邏輯核,我們經常可以看到像4核8線程這種描述,即該服務擁有4個物理核,每個物理核有擁有兩個邏輯核。因此爲了更好的利用服務器性能,同時提升代碼執行效率,我們需要將

原创 Postgres中JSONB使用的問題

JSONB拼接 INSERT INTO table_name (x,y) VALUES(jsonb_build_array(數據),y) ON CONFLICT (y) UPDATE SET x=table_name.x||數據 併發是

原创 Spring-MVC原理簡介

前言 現在服務器開發中,非常流行restful形式的接口,最爲常見的開源框架有Springmvc,下面我們來簡單的剖析一下 一、簡單的rest接口 一個簡單的rest接口一般都包含了Mapping(映射路徑),參數等 @GetMappin

原创 JAVA之IO簡介

前言 流:把數據比作水流,水流的源頭爲水源,數據的源頭爲數據源。試想一下,數據從源頭而來,我們在這頭獲取到數據流,然後對數據流進行處理。而處理方式就如同:我們取用河裏的水,然後燒開,然後飲用一樣。在這裏我們需要學習JAVA是怎麼實現的這個處

原创 JAVA的ClassLoader

前言 學完Class類,知道了每一個.java文件在編譯後會保存成.class文件,文件中保存了該類的具體信息,然後我就好奇JVM怎麼加載的類,所以就必須要探索一下ClassLoader了 一、背景知識 1.1 類加載器種類 類加載器主要有