最后的 main 方法,不是有示例么
編譯原理-LR(0)文法算法實(shí)現(xiàn)(java)本篇文章內(nèi)的源碼: 這里[https://gitee.com/wo883721/compilers] 我們知道 LL1 文法是自頂而下的語法分析,從文法開始符號(hào)起,采用最左推...
Rocketmq 使用 namesrv 來管理所有的元數(shù)據(jù)信息,包括主題 Topic 路由信息和 Broker 信息。首先我們介紹一下一些基礎(chǔ)概念: Broker : 儲(chǔ)存消...
Rocketmq 使用 Netty 實(shí)現(xiàn)了 remoting模塊(即 RPC 模塊)。 一. RemotingClient 和 RemotingServer 接口 1.1 R...
@歇爾一赫 是的,A是被消除的
編譯原理-消除左遞歸算法(java代碼實(shí)現(xiàn))本篇文章內(nèi)的源碼: 這里[https://gitee.com/wo883721/compilers] 當(dāng)我們自頂向下的語法分析時(shí),就需要采用最左推導(dǎo)方式。而這個(gè)時(shí)候,如果產(chǎn)生...
對(duì)于Mac無法讀取硬盤\U盤問題 怎么解決? 首先,硬盤不能正常在mac上顯示可能是硬盤出現(xiàn)了錯(cuò)誤無法使用,也可能是硬盤的文件系統(tǒng)格式不適合在mac上使用,或者是之前對(duì)硬盤的...
今天我們來分析AOP 技術(shù)的核心: 代理。 代理的作用就是在不改變目標(biāo)方法的情況下,為目標(biāo)方法添加新功能。 一. 介紹 1.1 靜態(tài)代理 運(yùn)行結(jié)果: 這是一個(gè)靜態(tài)代理的標(biāo)準(zhǔn)寫...
在前面的文章中,我們分析了Class 這個(gè)字節(jié)碼文件的格式,知道了字節(jié)碼的作用,那么我們就可以直接生成字節(jié)碼文件,加載到當(dāng)前的 JVM 中運(yùn)行,這個(gè)在AOP 場(chǎng)景中經(jīng)常用到。...
上一章[http://www.itdecent.cn/p/131cc4e3b87e]中介紹了字節(jié)碼文件的基本結(jié)構(gòu),這一章我們介紹字節(jié)碼文件中的屬性,屬性的通用格式如下: a...
我們知道javac 命令可以將 .java 文件編譯成 .class 文件,而這個(gè)Class 文件 中包含了Java虛擬機(jī)指令集、符號(hào)表以及若干其他輔助信息;最終將在Java...
在內(nèi)存管理(jemalloc3)[http://www.itdecent.cn/p/c9b6f8735f5d] 這篇文章中,我們介紹了在Netty 4.1.45 版本之前使...
在平常開發(fā)的時(shí)候,經(jīng)常使用到線程本地變量,這種類型的變量會(huì)在每個(gè)線程中都有一份,互相不會(huì)產(chǎn)生影響,這樣來解決多線程并發(fā)問題。那么是如何實(shí)現(xiàn)的呢? 一. ThreadLocal...
Netty 是一個(gè)高性能的網(wǎng)絡(luò)應(yīng)用程序框架,主要就是進(jìn)行數(shù)據(jù)的交互,所以必須有一個(gè)高效的內(nèi)存分配器。內(nèi)存分配器的功能就兩個(gè): 用戶申請(qǐng)內(nèi)存時(shí),分配給它內(nèi)存塊。 用戶主動(dòng)釋放內(nèi)...
這個(gè)解碼器是用來處理那種包含頭和內(nèi)容體結(jié)構(gòu)的數(shù)據(jù)。 它是 MessageToMessageDecoder 的子類: 名字定義I它是 S,C,O 的父接口S表示開始類型數(shù)據(jù),即...
每個(gè)網(wǎng)絡(luò)應(yīng)用程序都必須定義如何解析在兩個(gè)節(jié)點(diǎn)之間來回傳輸?shù)脑甲止?jié),以及如何將其和目標(biāo)應(yīng)用程序的數(shù)據(jù)格式做相互轉(zhuǎn)換。這種轉(zhuǎn)換邏輯由編解碼器處理,編解碼器由編碼器和解碼器組成,...
一. NioSocketChannel 1.1 構(gòu)造方法 NioSocketChannel 繼承自AbstractNioByteChannel 類,先看看AbstractNi...
一. NioUnsafe 接口 NioUnsafe 接口比 Unsafe 多了四個(gè)方法: SelectableChannel ch() 返回底層的NIO通道 剩下三個(gè)方法都與...
一. AbstractChannel 1.1 構(gòu)造方法 可以看出在構(gòu)造方法中,就綁定了這個(gè)通道的四個(gè)成員變量 parent,id,unsafe,pipeline。 id 和 ...