原创 【Leetcode】Insert Interval

題目: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary). You may

原创 【Leetcode】Valid Number

題目: Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => true"abc" => false"1 a" => false"2e10

原创 Git安裝(Centos7環境)

1. 下載 去https://mirrors.edge.kernel.org/pub/software/scm/git/中選擇自己需要的git版本,然後進入自己所需安裝的目錄,執行下面命令獲取安裝包: wget https://mirr

原创 NodeJS快速安裝(Centos環境)

首先進入官網獲取所需要的版本https://nodejs.org/en/download/releases/,獲取鏈接地址 然後wget下載安裝包到當前目錄 wget https://nodejs.org/download/releas

原创 Netty服務端啓動源碼解析

什麼是Netty 異步事件驅動框架,用於快速開發高性能服務端和客戶端 封裝了JDK底層BIO和NIO模型,提供高度可用的API 自帶編解碼器解決拆包粘包問題,用戶只用關心業務邏輯 精心設計的reactor線程模型支持高併發海量連接 自帶各

原创 Netty單機百萬連接及優化

單機百萬連接調優 實現單機的百萬連接,瓶頸有以下幾點: 如何模擬百萬連接 突破局部文件句柄的限制 突破全局文件句柄的限制 在linux系統裏面,單個進程打開的句柄數是非常有限的,一條TCP連接就對應一個文件句柄,而對於我們應用程序來說,一

原创 千萬級WebSocket消息推送服務技術分析

拉模式和推模式區別 拉模式(定時輪詢訪問接口獲取數據) 數據更新頻率低,則大多數的數據請求時無效的 在線用戶數量多,則服務端的查詢負載很高 定時輪詢拉取,無法滿足時效性要求 推模式(向客戶端進行數據的推送) 僅在數據更新時,纔有推送 需要

原创 Redis分佈式鎖原理解析

一、Redis分佈式鎖的流程圖 首先設置上鎖的方式,用setnx(lockkey,currenttime+timout)來表示設置鎖,其中lockkey爲我們所需要爭取到的鎖,value值則由當前時間和設置的超時時間組成。

原创 Simditor的快速使用

前言:像編輯器之類的插件,一般使用都無非三個步驟,引入資源,開闢容器,JS初始化。 環境:Windows環境,Java開發,頁面與接口在同一個項目中,未進行前後端隔離,服務器Tomcat 官網地址:Simditor文檔 第一步 去官網下

原创 直播原理----協議

一、直播流程圖流程圖如上所示,各位看官應該不難理解吧。其中H.264是對視頻的編碼,AAC是對音頻的編碼。格式與瀏覽器的兼容模式如下:    mp4格式就不需要多說了,webm是一種流式的視頻格式,這兩種視頻格式偏點播。hls格式,嚴格意

原创 Windows10環境下安裝Nodejs、cnpm

一、官網下載 官網地址:https://nodejs.org/en/ 選擇推薦的或你想要的版本下載,下載完後,安裝路徑自定義,自行安裝即可,筆者安裝目錄爲:D:\Program Files\nodejs\;由於Nodejs自帶了npm,所

原创 熱部署原理解析

一、Java類加載過程 把Java文件編譯成字節碼文件,再把字節碼文件序列化成相應的串,再把序列化後的串編譯成源碼對象,再把源碼對象編譯成.class文件,classload加載器加載class類到Java虛擬機中。 類加載的5個階段:

原创 排序算法(Java)二

基礎快速排序 import java.util.*; public class QuickSort { // 我們的算法類不允許產生任何實例 private QuickSort(){} // 對arr[l..

原创 Windows10進入鎖屏後卡頓,進入不去桌面的問題

問題  本人今天一早開啓電腦,發現電腦成功進入了系統,但反應速度很慢,然後直接重啓,重啓完後,發現進入到鎖屏的界面,輸入密碼後就一直轉圈,等了好幾分鐘,然後系統提示自動重啓,然後重啓後,同樣的情況,有時都是自動重啓,沒提示,就是如此的反覆

原创 Lombok原理簡介

一、Lombok介紹 通過簡單註釋來精簡代碼來消除冗長代碼的目的。 二、Lombok優點 提高代碼效率 使代碼更簡潔 消除冗長代碼 避免修改字段名字時,忘記修改方法名(這是比較重要的一點) 例子: public class lombo