在某個地方_endpoint.fill(buffer);
呼叫_channel.read(bbuf);
這裡看一下socketchannelimpl.read方法
然後呼叫ioutil.read(fd, bytebuffer, -1l, nd, readlock);
if(bytebuffer instanceof directbuffer)
return readintonativebuffer(filedescriptor, bytebuffer, l, nativedispatcher, obj);
bytebuffer1 = null;
int j;
bytebuffer1 = util.gettemporarydirectbuffer(bytebuffer.remaining());
int i = readintonativebuffer(filedescriptor, bytebuffer1, l, nativedispatcher, obj);
bytebuffer1.flip();
if(i > 0)
bytebuffer.put(bytebuffer1);
如果是使用了directbuffer,那麼直接從網絡卡(socket)讀取資料放入buffer裡
否則生成乙個臨時的directbuffer,然後讀取資料,再後做兩個buffer的複製工作
2020 06 07記錄一下
軟體測試技術型方向 自動化測試工程師,效能測試工程師,安全測試工程師等專項技術方發展 初級軟體測試人員專業知識 1 軟體功能測試技術,體現在用例設計和缺陷設計兩方面。主要包括軟體需求規格說明書的評審 測試計畫 測試用例設計技術 環境搭建 測試執行 缺陷提交 回歸測試 測試報告等。2 web自動化測試...
記錄一下進展
最近倆周都在除錯caffe的windows和matlab聯合使用,真的是超級鬱悶的一段時間。caffe編譯通過,但是目前有些不能用,當使用image data時,prototxt檔案解析失敗,我也不知道到底怎麼回事。另外乙個,在matlab呼叫caffe的mex檔案時,總是在初始化就失敗了。具體原因...
記錄一下 exists 用法
在 mysql 中,插入 insert 一條記錄很簡單,但是一些特殊應用,在插入記錄前,需要檢查這條記錄是否已經存在,只有當記錄不存在時才執行插入操作,本文介紹的就是這個問題的解決方案。問題 我建立了乙個表來存放客戶資訊,我知道可以用 insert 語句插入資訊到表中,但是怎麼樣才能保證不會插入重複...