5.1 DelimiterBasedFrameDecoder應(yīng)用開(kāi)發(fā) 下面我們來(lái)完成一個(gè)演示程序使用DelimiterBasedFrameDecoder應(yīng)用進(jìn)行開(kāi)發(fā) 5.1....
5.1 DelimiterBasedFrameDecoder應(yīng)用開(kāi)發(fā) 下面我們來(lái)完成一個(gè)演示程序使用DelimiterBasedFrameDecoder應(yīng)用進(jìn)行開(kāi)發(fā) 5.1....
4.1 TCP粘包/拆包 TCP是個(gè)"流"協(xié)議,是沒(méi)有界限的一串?dāng)?shù)據(jù)。所以一個(gè)業(yè)務(wù)上認(rèn)為的一個(gè)完整的包可能會(huì)被拆分成多個(gè)包發(fā)送,多個(gè)完整的包也可能被封裝成一個(gè)大的數(shù)據(jù)包發(fā)送,...
1.1.1Linux網(wǎng)絡(luò)I/O模型 Linux 內(nèi)核將所有外部設(shè)備看做一個(gè)文件操作,對(duì)一個(gè)文件的讀寫(xiě)操作會(huì)返回一個(gè)file descrptor(fd,文件描述符)。而對(duì)一個(gè)s...
服務(wù)器級(jí)別的鎖 表鎖 表可以被顯示的讀鎖和寫(xiě)鎖鎖定,查詢(xún)過(guò)程中也有隱式的鎖。在MySQL會(huì)話中使用LOCK TABLES命令可以顯示加鎖,當(dāng)一個(gè)線程持有鎖后,其他線程會(huì)等待阻...
調(diào)用EXPLAIN 要使用EXPLAIN,只需要在查詢(xún)的select關(guān)鍵字前面機(jī)上explain這個(gè)詞。下面是一個(gè)簡(jiǎn)單的explain結(jié)果: EXPLAIN有兩個(gè)主要變種。E...
5.1 索引基礎(chǔ) 在MySQL中,存儲(chǔ)引擎在使用索引時(shí),先找到索引的對(duì)應(yīng)值,然后根據(jù)匹配的索引找到對(duì)應(yīng)的數(shù)據(jù)行。假如要運(yùn)行下面的查詢(xún):select first_name fr...
1.1 MySQL邏輯架構(gòu) MySQL服務(wù)器邏輯架構(gòu)圖.png最上層的不是MySQL所獨(dú)有的,大多數(shù)是基于網(wǎng)絡(luò)的客戶端/服務(wù)器的工具或者服務(wù)都有類(lèi)似的架構(gòu)。比如鏈接處理、授權(quán)...
@南風(fēng)懈手 謝謝老板 打賞個(gè)兩百?
Git基本概念與核心命令掌握1. 常用命令 在現(xiàn)有目錄中初始化倉(cāng)庫(kù) 該命令將創(chuàng)建一個(gè)名為 .git 的子目錄,這個(gè)子目錄含有你初始化的 Git 倉(cāng)庫(kù)中所有的必須文件,這些文件是Git 倉(cāng)庫(kù)的骨干。 但是...
AbstractQueuedSynchronizer ReentrantLock主要內(nèi)部通過(guò)Sync來(lái)完成鎖的實(shí)現(xiàn),Sync內(nèi)部是通過(guò)AQS同步器來(lái)完成這一工作的,下面來(lái)看看...
ReentrantLock lock() : void <-Lock Acquires the lock if it is not held by another threa...