#
摘要: 存儲(chǔ)過(guò)程的錯(cuò)誤捕捉 mysql_next_result > 0
閱讀全文
1- 遇到問(wèn)題,要去思考如何解決這類(lèi)問(wèn)題,而不是這個(gè)問(wèn)題。
2- 不要因?yàn)闀r(shí)間緊迫而放棄代碼的重構(gòu)。
3- 如果覺(jué)得有必要改,就去改,不要怕混亂,它只是暫時(shí)的。堅(jiān)持到底,就會(huì)云開(kāi)見(jiàn)月明。
動(dòng)畫(huà)TRACK,
聲音TRACK
劇情T(mén)RACK
1- 輸入和輸出流,底層采用分頁(yè)數(shù)據(jù)容器。
2- 可定制的流過(guò)濾器,協(xié)議分析、數(shù)據(jù)安全、以及轉(zhuǎn)發(fā)邏輯都可以通過(guò)這個(gè)來(lái)完成。
3- 三種可定制的主循環(huán):1- 單獨(dú)邏輯線程 2- 主線程直接循環(huán) 3- 作為T(mén)ASK在主線程池內(nèi)執(zhí)行。
4- UDP支持。
1- 為AGENT增加了主動(dòng)模式,應(yīng)用服務(wù)可以主動(dòng)連接AGENT,從而讓地址無(wú)法確定的APP服務(wù)可以掛接到地址固定的AGENT上提供服務(wù)。
摘要: XLIBPLUS庫(kù)和XNETWORK庫(kù)的源代碼。
閱讀全文
摘要: XSE2.0 的源代碼(包含C\C++\C#示例)
XSE全名為 X Server Engine,是在IOCP基礎(chǔ)上建立的一個(gè)網(wǎng)絡(luò)底層庫(kù)。
閱讀全文
1- 保持內(nèi)存地址與系統(tǒng)的頁(yè)面起始點(diǎn)對(duì)齊。
2- 減少小量?jī)?nèi)存的單獨(dú)分配,使用對(duì)象池或者內(nèi)存池進(jìn)行小量?jī)?nèi)存的管理。
3- 儘量用系統(tǒng)提供的API進(jìn)行基於頁(yè)面的分配,以提高系統(tǒng)操作和管理內(nèi)存時(shí)的效率。(VIRTUALALLOC)
經(jīng)過(guò)測(cè)試,malloc的內(nèi)存管理沒(méi)有直接綁定到頁(yè)面。virtualalloc才會(huì)直接按照頁(yè)面來(lái)分配。
測(cè)試方法:用Malloc分配4096和4097大小的1024塊內(nèi)存,從進(jìn)程管理器中查看內(nèi)存消耗,並沒(méi)有太大區(qū)別。
用virtualalloc分配4096和4097大小的1024塊內(nèi)存,消耗相差近一倍。
分析可知,virtualalloc按照頁(yè)面來(lái)進(jìn)行分配,一般頁(yè)面大小為4096字節(jié),4097超過(guò)1字節(jié)會(huì)令系統(tǒng)增加一個(gè)頁(yè)面的分配,從而導(dǎo)致內(nèi)存使用量攀升近一倍。
同時(shí)我們可以得知,malloc的內(nèi)存分配不會(huì)按頁(yè)來(lái)進(jìn)行分配,也就是不會(huì)進(jìn)行頁(yè)面對(duì)齊。
在IOCP應(yīng)用中,很多時(shí)候系統(tǒng)都會(huì)鎖用戶內(nèi)存,鎖內(nèi)存都是以頁(yè)為單位來(lái)鎖,沒(méi)有對(duì)齊過(guò)的內(nèi)存,會(huì)導(dǎo)致鎖跨頁(yè)面,降低操作的效率,或可造成安全問(wèn)題。
1- 緊湊或者對(duì)齊模式(相當(dāng)于C/C++結(jié)構(gòu)體的對(duì)齊方式)
緊湊模式在持久化時(shí),不考慮字節(jié)對(duì)齊情況,直接按值類(lèi)型,按字節(jié)持久化。
對(duì)齊模式會(huì)考慮整體對(duì)齊參數(shù),力圖使字段對(duì)齊到邊界。
2- 容器本地化或者遠(yuǎn)程化
本地化的容器,會(huì)共享容器父數(shù)據(jù)對(duì)象的內(nèi)存。
遠(yuǎn)程化的容器,會(huì)有單獨(dú)的對(duì)象內(nèi)存。
在網(wǎng)絡(luò)數(shù)據(jù)包中,必須使用緊湊模式和本地化容器,以消除所有不確定因素,確保網(wǎng)絡(luò)傳輸。
3- 是否持久化索引數(shù)據(jù)。
索引數(shù)據(jù)是指對(duì)象類(lèi)中的字段在整個(gè)對(duì)象類(lèi)中的索引。在對(duì)象類(lèi)的字段創(chuàng)建開(kāi)始,這個(gè)索引就固定不變,一直到被刪除。所有的字段的索引不可重復(fù)。
對(duì)象容器中的對(duì)象類(lèi)的字段使用單獨(dú)開(kāi)始的索引。
PROBLEM: 如何在緊湊持久化數(shù)據(jù)中表示一個(gè)容器。(即是否保存容器邊界)