原创 力扣——最小覆蓋子串
給你一個字符串 S、一個字符串 T,請在字符串 S 裏面找出:包含 T 所有字母的最小子串。 示例: 輸入: S = “ADOBECODEBANC”, T = “ABC” 輸出: “BANC” 說明: 如果 S 中不存這樣的子串,
原创 SpringMVC響應數據和結果視圖
文章目錄String類型void類型request轉發Response重定向ModelAndView類型RespnoseBody響應 String類型 String類型的響應是最常用的方式,直接返回一個視圖名稱,然後通過視圖解析器
原创 webapp下資源文件無法訪問 & mvc resources
今天在測試web項目的demo的過程中,發現webapp下的資源無法訪問,以前不是說只有WEB-INF目錄下的文件對客戶端不可見嗎怎麼webapp根目錄下也無法訪問 經過排查,發現由於IDEA是需要指定資源目錄類型的,舉個
原创 SpringMVC常用註解
文章目錄@RequestParam@RequestBody@PathVariable@RequestHeader@CookieValue@ModelAttribute@SessionAttribute @RequestParam
原创 Java垃圾回收雜談
對象是否存活 既然要進行垃圾回收,那麼必然要知道回收誰,什麼樣的對象需要回收,沒有其他地方引用該對象,那麼該對象就是垃圾,就需要回收。 如何知道該對象是否還被引用呢?在早期提出了引用計數法來進行對象是否還被引用的判斷,該算
原创 銀行家算法(Java實現)
銀行家算法是避免死鎖的一種重要方法,採取的思路是預分配,嘗試將資源分配給對應進程,然後判斷新狀態下是否狀態安全,如果安全狀態,則判斷一下該對應進程是否滿足執行的全部資源,如果滿足,就回收掉該進程的資源,如果不滿足則不作處理。如
原创 聊聊IO多路複用之select、poll、epoll詳解
IO多路複用是指內核一旦發現進程指定的一個或者多個IO條件準備讀取,它就通知該進程。IO多路複用適用如下場合: 1.當客戶處理多個描述符時(一般是交互式輸入和網絡套接口),必須使用I/O複用。 2.當一個客戶同時處理多個套接口時
原创 物理層通信過程&&通信方式&&編碼
文章目錄數據通信過程數據通信的方式單工/半雙工/全雙工串行/並行異步/同步基帶傳輸的編碼不歸0編碼曼徹斯特編碼差分曼徹斯特編碼 數據通信過程 如果要在計算機中傳輸一串數據,而計算機只能識別0和1,所以就需要先對傳輸的信息進行編
原创 適配器模式
先給出一個場景:要實現一個支付模塊,最先開始使用的是微信支付的接口,後來又新增加了支付寶支付的方式,後面又有可能會增加許多新的支付方式,不能通過修改原來的代碼,如何去實現? 這種情況下就要使用適配器模式,適配器模式有點亡羊
原创 解決NIO服務端select一直爲-1 && 服務端一直有可讀事件
在進行NIO編程的時候,發現客戶端只往服務端發送了一條消息後,就下線了,但是服務端select方法的返回值總是1,出現了死循環,經過調試發現,Selectionkeys方法返回的總是進行讀操作的SocketChannel,也就
原创 二叉樹刷題
給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針 //樹節點的定義 public class TreeLinkNode { int v
原创 MyBatis多表操作
文章目錄準備一對一一對多多對多 在平常的業務中,多表操作是經常用到的,這篇文章主要講解常用的多表操作方式。 在數據庫的理論知識中,我們知道實體之間的關係有三種,即:一對一,一對多,多對多。其實,按照嚴格的業務劃分,一對多和
原创 Java內存區域
根據Java虛擬機規範,Java虛擬機會把Java的所管理的內存分成幾個區域,分別爲:程序計數器,Java虛擬機棧,本地方法棧,堆,方法區 通過一張圖來了解一下: 先要說明的一點是,java虛擬機棧,本地方法棧和程序計數器是線程
原创 工廠模式(簡單工廠,工廠方法,抽象工廠)
在平常的代碼中,難免會去new一個對象,這樣調用者與實體類之間就會存在耦合關係,如果創建多個對象調用者就會存在多層耦合關係,而工廠模式就是代替new,實現解耦。工廠模式在我們平常的使用中非常常見,比如 mybatis中的Sql
原创 數據鏈路層&&差錯控制&&流量控制
數據鏈路層作爲物理層的上層,爲網絡層提供服務,提供了成幀,差錯控制,流量控制等功能 文章目錄成幀差錯控制前向糾錯FEC自動請求重發ARQ奇偶校驗碼循環冗餘校驗碼CRC流量控制停等協議SAW自動請求重傳ARQ回退N(Go Bac