原创 linux下查看內存使用情況的命令

(1)/proc/meminfo      /proc/meminfo 文件列出了內存使用情況的總的概況 (2)free      free快速查看內存的使用狀況,是對/proc/meminfo收集到的信息的一個概述      

原创 五種IO模型

五種IO模型      (1)阻塞IO      (2)非阻塞IO      (3)信號驅動      (4)IO多路複用      (5)異步IO IO分兩步      (1)等待數據      (2)數據搬遷     阻塞IO  

原创 構造函數和析構函數的重載和虛函數的問題

關於作用: 構造函數:用於處理對象的初始化,在實例化對象進入作用域的時候自動調用構造函數。 析構函數:用於在撤銷對象佔用內存之前完成一些清理工作,在對象生命週期結束時自動調用。 關於重載: 構造函數:構造函數可以被重載,因爲構造函數可以

原创 鏈表帶環和相交的問題

判斷兩個鏈表是否相交?(不帶環)      (1)第一種方法:我們只需要遍歷每條鏈表,把最後一個節點保存起來,然後判斷這兩條鏈表的最後一個節點是否相等,如果是一樣的節點,那麼這兩個節點就一定相交。      (2)第二種方法:遍歷兩條

原创 關於網絡層你瞭解多少

網絡層的設計思路: 網絡層向上只提供簡單靈活的,無連接的,盡最大努力交付的數據報服務。網絡層不提供服務質量的承諾。由於傳輸網絡不提供端到端的可靠傳輸服務,這就使網絡中的路由器可以做的比較簡單,而且相對價格低廉。 採用這種設計思路的好處:

原创 瞭解dup和dup2函數

描述: dup和dup2都可用來複制一個現有的文件描述符 函數原型: 通俗理解: (假定返回fd2) dup(fd) == dup(fd, fd2) 相當於fd2指向fd所指向的 新的文件描述符-->舊的文件描述符 打開文件的內核

原创 grep工具的使用

grep是一種很強大的文本編輯器,他可以支持正則匹配,也可以將匹配的行統計出來。 命令: grep [選項] [--color]  '搜索字符串'  文件名 選項:-E 支持擴展正則匹配      匹配一個文件中的電話號碼 選項:

原创 IO多路轉接之select、poll、epoll

IO多路轉接之select      select系統調用的用途:在一段指定的時間內,監聽用戶感興趣的文件描述符上的可讀,可寫,異常時間。      select函數原型:           int select(int nfds, f

原创 如何定義一個只能在堆上生成對象的類

我們必須要了解的一些關於堆和棧的基礎知識: 在C++中,類的對象建立分爲兩種,一種是靜態建立,如A a;另一種是動態建立,如A* ptr=new A; 靜態建立一個類對象,是由編譯器爲對象在棧空間中分配內存,是通過直接移動棧頂指針,挪出適

原创 如何定義一個不能被繼承的類

方法一:將構造函數聲明爲私有的 如果把一個類的構造函數聲明爲私有的,那麼這個類就不能被繼承。但是這也引入了一個問題,不能在類外定義這個類的對象,所以我們還需要在類內定義一個靜態的成員函數來返回創建的這個對象。 class AA

原创 虛繼承和虛基類的對象模型

概念      爲了解決不同途徑繼承來的同名的數據成員和成員函數在內存中有不同的拷貝造成數據不一致的問題,將共同的基類設置爲虛基類。這時,不同路徑繼承下來的同名的數據成員在內存中只有一個拷貝,成員函數名也只有一個映射。這樣解決了二義性的問

原创 爲什麼要將線程設置成分離狀態

可結合線程和可分離線程的區別      在任意一個時間點上,一個線程是可結合的,或者是可分離的。一個可結合的線程是可以被其他進程回收資源或者殺死的,在其他線程被回收之前,他的存儲器資源(如棧)是不會被回收的。一個可分離的線程是不可以被其他

原创 網絡中是通過硬件地址找到目的主機的,那爲什麼還要有IP地址呢?

計算機網絡這本書是這樣說的: 這是因爲全世界存在着各式各樣的網絡,他們使用不同的硬件地址。要使這些異構的網絡能夠互相通信就必須進行非常複雜的硬件地址轉換工作,因此由用戶或用戶主機來完成這個任務工作是幾乎不可能的。他們之間的通信就像連接在同

原创 線程的同步與互斥

什麼是臨界資源? 多個進程不能同時使用的資源叫做臨界資源。 什麼是臨界區? 每個線程訪問臨界資源的那段代碼稱作臨界區 操作系統在引入線程的併發性了以後,隨即帶來的就是資源共享和競爭的問題(因爲線程共享進程所

原创 C/C++中static函數

C/C++中static函數      將函數聲明成static函數,那麼這個函數只可以在所處的文件中被調用,不能被其他文件調用。而且聲明成static函數以後,即使這個函數名和其他文件中的函數名一樣,不會引起衝突,也不會引起編譯器調用時