原创 加密算法------DES加密算法詳解

一、加密算法的分類1.對稱加解密算法a.通信雙方同時掌握一個密鑰,加密解密都是由一個密鑰完成的(即加密密鑰等於解密密鑰,加解密密鑰可以相互推倒出來)。b.雙方通信前共同擬定一個密鑰,不對第三方公開。c.不具有個體原子性,一個密鑰被共享,泄

原创 malloc和new之間的區別

1.內存分配失敗的返回值 malloc內存分配失敗返回NULL new內存分配失敗返回bad_alloc; 2.需要分配的內存大小 new操作符在申請內存分配時,無需指定內存大小,編譯器會根據信息自行計算 malloc在申請內存分配時,需

原创 Linux基礎總結-------進程

進程間的相關知識進程:一個正在運行的程序。一個進程主要包括三個因素1. fork()(1)函數原型:pid_t fork()*pid_t是一個宏,其實質是一個整形,且是一個16位的整形(-32768-----32768),因此linux中

原创 深入函數調用堆棧-----程序在函數執行前都幹了什麼

每個函數在開始前都會有一段固定的代碼,這些固定的代碼主要做三件事:1.主調方棧底地址入棧,讓ebp指向當前函數棧底;2.通過esp的減等操作給被調函數開闢棧楨;3.將esp和ebp之間所有的棧內存全部初始化;

原创 八種排序算法(一)------快速排序

算法思想 找一個基準值,本題中基準值爲數組中最右的元素,再定義兩個指針begin(指向首元素)、end(指向尾元素); begin從前往後走找比基準值大的元素,找到後停下;end從後往前走找比基準值小的元素,找到後也停下;然後,交換arr

原创 淺談IP分片的大小及其原因

一、IP分片的定義    IP分片是網絡上傳輸IP報文的一種技術手段。IP協議在傳輸數據包時,將數據報文分爲若干分片進行傳輸,並在目標系統中進行重組,這一過程稱爲分片。二、進行IP分片的原因    數據鏈路層具有最大傳輸單元MTU這個特性

原创 關於TCP黏包問題的解決思路

原文博客地址:http://blog.csdn.net/zhangxinrun/article/details/6721495TCP粘包分析這兩天看csdn有一些關於socket粘包,socket緩衝區設置的問題,發現自己不是很清楚,所以

原创 從內存佈局看C++虛繼承的實現原理

準備工作1、VS2012使用命令行選項查看對象的內存佈局微軟的Visual Studio提供給用戶顯示C++對象在內存中的佈局的選項:/d1reportSingleClassLayout。使用方法很簡單,直接在[工具(T)]選項下找到“V

原创 程序的編譯鏈接過程詳解

首先我們簡單瞭解一下內存佈局:程序的編譯分爲:1.預處理:主要處理源代碼文件中的以“#”開始的預編譯指令(經過預編譯後的.i文件不包含任何宏定義,因爲所有的宏已經被展開,並且包含的文件也已經被插入到.i文件中)2.編譯:將預處理完的文件進

原创 TCP協議中的窗口機制------滑動窗口詳解

一、窗口機制的分類在TCP協議當中窗口機制分爲兩種:1.固定的窗口大小2.滑動窗口二、固定窗口存在的問題如下圖所示:我們假設這個固定窗口的大小爲1,也就是每次只能發送一個數據,只有接收方對這個數據進行了確認後才能發送第二個數據。在圖中我們

原创 Linux基礎部分總結-----基礎命令部分

一. 基礎命令部分 1. 基礎命令 (1) ps:顯示正在運行的進程; (2) mpstat:實時監測多處理器系統上的每個CPU使用情況; (3) vmstat:實時輸出系統各個資源的使用情況; (4) tcpdump:用於過濾數據包或制

原创 c++中定義和聲明的區別

一.基本理解1.定義和聲明的簡單說明a.聲明就是指給除了當前變量或者函數,或者類什麼的名字,不給其中的內容,就是先告訴你有這樣一個什麼類型的變量或者函數,但是這個變量或者函數的具體信息卻是不知道的。就好比跟你介紹一個人的時候,聲明就是隻告

原创 在C/C++中關於內存問題的總結

一、內存分配方式1.從靜態存儲區域分配。內存在程序編譯的過程中就已經分配好,這塊內存在程序的整個運行期間都存在。例如:全局變量和static變量。2.在棧上創建。在執行函數時,函數內局部變量的存儲單元都可以在棧上創建,函數運行結束時,這些

原创 linux基礎總結(四)-------共享內存

一.共享內存的實現原理 共享內存區域說白了就是多個進程共享的一塊物理內存地址。假設有10個進程將這塊區域映射到自己的虛擬地址上,那麼,這10個進程間就可以相互通信。由於是同一塊區域在10個進程的虛擬地址上,當第一個進程向這塊共享內存的虛

原创 Linux基礎總結----網絡部分

網絡編程 ICMP協議:是TCP/IP的一個子協議。是控制報文協議,用在IP主機、路由器之間傳遞控制消息;(控制消息是指1網絡通不通、主機是否可達、路由是否可用等網絡本身的消息) HTTP協議:超文本傳輸協議 SSH協議(端口22):網