原创 Linux內核數據結構隊列-kfifo

前言 kfifo巧妙的運用了無符號變量和位運算的特點。使得代碼巧妙。 數據結構 struct kfifo { unsigned char *buffer; /* 存放數據的buff */ unsigned int size; /*

原创 Linux內核數據結構—List

Linux內核中的list採用的思想是,將鏈表嵌入在數據結構中。而非將數據結構嵌入到鏈表中。(include\linux\list.h) 鏈表嵌入在數據結構fox中:                                  

原创 C語言 - 字符串操作

strncpy strncat strncmp strnlen是較爲安全的字符串函數 int main(void){ char *src = "zhouxudong"; char dst[] = "huawei"; strncat

原创 Java源碼 - Exceotion異常類的基類Throwable分析

常用的異常有:Error、Exception,這兩個類的基類都是Throwable。 其中Error是用來表示編譯時和系統的錯誤,這一類問題,基本不需要我們關心。 Exception就是我們常見的異常。由源碼可知,Exception類自身

原创 Linux內核數據結構skb(socket buffer)

struct sk_buff_head {                                 /* These two members must be first. */     struct sk_buff    *nex

原创 Linux內核數據結構映射-idr

映射是實現(key,value)綁定的一種數據結構。也稱爲關聯數組。可以視爲由唯一key組成的集合。每個key對應這一個value。 常規的映射實現有hash表和二叉樹,以及二叉樹的變種。 差異 hash表具有相對較好的平均時間複雜度。二

原创 Redis in action 第七章java版代碼註釋

https://download.csdn.net/download/m0_37128231/10971158   有疑問可以直接留言一起探討,作者本人上傳註釋。第一次寫註釋給別人看,難免有看不懂的地方,寫的不好不對的地方

原创 Java - ByteBuffer字節數組緩衝器。讀取數據和寫入數據執行flip和clear的原理

ByteBuffer繼承於Buffer。 使用一個字節數組作爲緩衝器。讀取的數據和發送的數據會放入字節數組hb中。當數組達到一定大小,一次性寫入通道或者讀取。避免每次操作都要進行讀寫操作。 public abstract class B

原创 Java - FilenameFilter和FileFilter的區別

 FilenameFilter和FileFilter接口都是用於文件的篩選。但是方法的參數有所不同:  FilenameFilter 接口:boolean accept(File dir,String name); 其中dir爲當前目錄,

原创 Java - Class對象、反射、動態代理學習

         Java是一個動態鏈接語言。Java中的類在需要時纔會被加載,這個類我們可以視爲一個Class對象(xxx.class)。管理這些Class對象的類則就是Class類。          這裏有點拗口,對於初學者來說(比

原创 C - 實驗課檢查日期是否合法

水貼一張。給老師代課時寫的代碼。來騙波訪問量。 根據輸入的年月日,來判斷是否合法。(代碼沒有判斷輸入的月份爲負數、大於12等等情況)。 主要思想:判斷是否爲閏年,確定2月的日期範圍。                  根據月份,判斷日期的

原创 Java源碼 - Throwable異常類。

常用的異常有:Error、Exception,這兩個類的基類都是Throwable。 其中Error是用來表示編譯時和系統的錯誤,這一類問題,基本不需要我們關心。 Exception就是我們常見的異常。由源碼可知,Exception類自身

原创 C - 不傳參數修改函數外面的變量pass()

今天一朋友給我看了一道題,很是鬼畜的題目。雖然知道應該沒有人會這麼寫代碼,但是這裏面的邏輯還是很值得了解學習的。 代碼填空:填寫pass()函數。 要求輸出:456 #include "stdio.h" void pass(){ }

原创 Intellij Idea - 導入本地插件,python爲例

今天給intellij idea導入python插件時。發現在Search in repositories 中找不到插件。 之後找了許多資料,有人說是因爲更新的問題。我查看了一下,確實是在intellij更新消息提醒之後發生的bug。

原创 Python - 保留了默認2.6,安裝python3之後如何使用pip3並導入模塊到python3,pyperclip爲例

很多人在剛學python時就被告知python2在2020年之後就不會被維護了,所以大家都會選擇python3。我也是。 安裝python3的時候,又害怕刪除原有的默認python2版本會影響系統。所以我選擇了安裝python3,並保留p