原创 zookeeper中ExpiryQueue詳解 原

一,整體工作流程圖: 1,ExpiryQueue作用 ZooKeeper服務端管理客戶端會話超時使用到ExpiryQueue 2,ExpiryQueue的類圖 該類中主要包含了一下變量: nextExpirationTime(下一個過期

原创 socket底層實現 原

  1,socket類之間繼承關係圖 2,服務端socket連接維護 管理客戶連接請求的任務是由操作系統來完成的。操作系統把這些連接請求存儲在一個先進先出的隊列中。許多操作系統限定了隊列的最大長度,一般爲50。當隊列中的連接請

原创 NIO源碼詳解 原

阻塞io和無阻塞io: 阻塞io是指jdk1.4之前版本面向流的io,服務端需要對每個請求建立一堆線程等待請求,而客戶端發送請求後,先諮詢服務端是否有線程相應,如果沒有則會一直等待或者遭到拒 絕請求,如果有的話,客戶端會線程會等待請求結束後

原创 select,poll,epoll優缺點及比較 原

Linux中高級IO多路轉接中select、poll和epoll的優缺點,這裏主要談select和poll的缺點以及epoll的優點。 一、select的缺點: 1、編寫難度大 2、同時處理的文件描述符是有上限的 3、每次需要重新設定fd集

原创 jenkins自動構建-java後端 原

String jksIndexUrl = jenkinsOperate.getJksIndexUrl(); String jksBuildUrl = jenkinsOperate.getJksJobUrl() + JenkinsConst

原创 Zookeeper源碼分析 原

1,整體架構圖   2,啓動流程圖:單機版和集羣版 3,代碼流程圖

原创 數組去重(時間複雜度nlgn,時間複雜度o(1)) 原

public static void quickSort(int[] numArr, int left, int right) { //如果left等於right,即數組只有一個元素,直接返回 if (left >= r

原创 單向鏈表取指定節點 原

package com.weshare.eel.task.utils; public class Node { private int nodeValue; private Node nextNode;

原创 java後端上傳下載文件 原

package com.weshare.argus.service.impl; import com.alibaba.dubbo.common.utils.IOUtils; import com.alibaba.dubbo.comm

原创 數字數組連續數相加求最大和 原

public static void main(String[] args) { // 定義數據源 int[] source = {-1, 2, -2, 30, -1, 6, -8, 6}; // 數組長度

原创 給定一個字符串s,返回去掉子串"mi"後的字符串。 原

給定一個字符串s,返回去掉子串"mi"後的字符串。(注:刪除n個mi後,仍包含mi應一同刪除,如ammimiib,應返回ab)要求時間複雜度不超過2n。 package com.weshare.eel.task.utils; impo