原创 最簡單的方式教你理解大小端字節序

       學過編程的人都應該知道大小端字節序的概念,但是很多時候,總是把他們弄混,這是整理出來的一份很簡單的方式理解字節序的文章,廢話不多說,這裏直接入正題。什麼是字節序?    字節序,簡單來說,就是指的超過一個字節的數據類型在內存中

原创 操作系統網絡__網絡基礎

OSI七層模型     OSI:開放系統互聯模型,是一套較爲完整的網絡體系結構。     自底向上共有七層,依次是 物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。其中前四層是涉及到操作系統層面涉及到數據傳遞服務的,後三層是用來

原创 Linux下如何解決動態庫的鏈接問題

    關於動態庫和靜態庫,這裏不多解釋,如何創建屬於自己的動態庫和靜態庫,之前有提過,詳細內容戳鏈接。    靜態庫是一種以空間換取時間和移植性的做法,一些情況下確實有着一定的意義,但是一些情況下,我們自己編寫的簡單項目,在絕大多數的機器

原创 gcc下如何主動創建並使用自己的動態庫或靜態庫

庫:本質上來說是一種可執行代碼的二進制格式,可以被載入內存中執行,分爲靜態庫和動態庫兩類。另外,需要知道的是,由於windows和Linux是兩款操作系統,因此,二者的庫是不兼容的。 靜態函數庫:後綴通常爲***.a,利用靜態庫編譯的程序有

原创 分佈式系統簡介

什麼是分佈式系統分佈式系統(distributed  system)具有高度的 內聚性 和 透明性。    內聚性:每一個節點高度自治,有本地的數據庫管理系統;    透明性:每一個數據庫分佈節點對用戶來說是透明的,用戶是感覺不到"分佈"的

原创 教你如何用C++創建一個特殊的類

    就語言而言,個人還是比較喜歡C++,儘管 C++有些語法方面確實比較深奧,但這些確實擋不住它在實際應用中不可被替代的位置。    開始談今天的重點,如何定義一個特殊的C++類。1、定義不可被繼承的C++類    如何讓一個類不能被繼

原创 max-min fairness 最大最小公平算法

     我們總會面臨這樣的問題,需要給一組用戶分配一些稀缺資源,站在資源分配者的角度,他們具有等價的權利獲取資源,但實際上,一些用戶可能獲取較少的資源就能夠滿足需要,這樣看來,他們對資源的獲取又不是完全等價的,似乎不適合去平分資源,因此就

原创 關於HTTP的長連接和短連接那些事

    首先這裏簡單提及一下HTTP協議,HTTP協議是位於應用層面向對象的協議,現在WWW中使用的是HTTP/1.1版本,關於HTTP/1.0也是今天要說的內容。     HTTP1.1比特HTTP1.0相比而言,最大的區別就是增加了持久

原创 TCP協議中的四種定時器

TCP四種定時器     重傳計時器、堅持計時器、保活計時器、時間等待計時器重傳計時器:     在TCP發送報文時創建,用來確認報文是否成功發送,超過預定時間,則重新發送,設置重傳計時器之後,通常有兩種情況:     1、在計時器截止時間

原创 TCP協議中URG與PSH的區別

    URG和PSH都屬於TCP包頭中的標誌位,URG和PSH爲 1 時,都表示當前有緊急數據。不同的是對緊急數據的處理方式不同。     URG:爲1時,表明緊急指針字段有效,它告訴系統此報文段中有緊急數據,應儘快傳遞,相當於高優先級,

原创 Linux下實現字符串截取方法總結

    Linux下實現字符串截取,大體上可以分爲兩種,使用命令實現截取,使用工具實現截取。具體截取方式如下:     a、#截取,可以實現刪除左邊字符,保留右邊字符     從左邊第一個</>開始,刪除</>及之前的所有字符str=htt

原创 淺談Linux下的syslog守護進程

     syslog是Linux下默認的日誌守護進程。任何希望生成日誌信息的程序都可以通過syslog 接口實現該目的。     同時,幾乎所有的網絡設備都可以通過syslog協議,將日誌信息以UDP的形式傳送給遠端服務器,遠端接收日誌服

原创 libgo 源碼剖析(3. libgo上下文切換實現)

在 libgo 的上下文切換上,並沒有自己去實現創建和維護棧空間、保存和切換 CPU 寄存器執行狀態信息等的任務,而是直接使用了 Boost.Context。Boost.Context 作爲衆多協程底層支持庫,性能方面一直在被優化。 Bo