原创 TCP可靠傳輸機制

TCP提供一種面向連接的、可靠的字節流服務。面向連接意味着兩個使用TCP的應用(通常是一個客戶和一個服務器)在彼此交換數據包之前必須先建立一個TCP連接。這一過程與打電話很相似,先撥號振鈴,等待對方摘機說“喂”,然後才說明是誰。在一個T

原创 排序算法總結

1 冒泡排序: void BubbleeSort(int*p,int len,SORT_TYPE type = SORT_ASC) { //冒泡方式二:當某一次遍歷沒有發生任務數據交互時,說明已經排序好了 bool fla

原创 淺析TCP字節流與UDP數據報的區別

“TCP是一種流模式的協議,UDP是一種數據報模式的協議”,這句話相信大家對這句話已經耳熟能詳~但是,“流模式”與“數據包模式”在編程的時候有什麼區別呢?以下是我的理解,僅供參考! 1、TCP 打個比方比喻TCP,你家裏有個蓄水池,

原创 深入理解 Java中的 流 (Stream)

首先,流是什麼? 流是個抽象的概念,是對輸入輸出設備的抽象,Java程序中,對於數據的輸入/輸出操作都是以“流”的方式進行。設備可以是文件,網絡,內存等。 流具有方向性,至於是輸入流還是輸出流則是一個相對的概念,一般以程序爲參考,如果數

原创 虛函數中“虛”的理解

1、首先回顧一下虛函數的概念 虛函數:不代表一定需要子類去實現,而是可以通過基類的指針調用子類的此函數。 純虛函數:一定需要子類去實現它,它定義的僅僅是一組行爲,擁有純虛函數的類即爲抽象類,只能當做基類,無法實例化。 2、爲什麼叫“虛”函

原创 JAVA-抽象類和接口的區別總結

  首先.抽象類和接口都很好的提供了一種將實現和接口分離的方法..  一、抽象類 我們都知道在面向對象的領域一切都是對象,同時所有的對象都是通過類來描述的,但是並不是所有的類都是來描述對象的。如果一個類沒有足夠的信息來描述一個具體的對象,

原创 debug版本運行沒有問題,而release版本總是報錯?

下面將講述一下我的幾點經驗,看看是不是其中之一:1. 變量。 大家都知道,debug跟release在初始化變量時所做的操作是不同的,debug是將每個字節位都賦成0xcc(注1),而release的賦值近似於隨機(我想是直接從內存中分配

原创 循環引用-智能指針的死穴之一

       智能指針的實現思路也體現了C++基於對象的原則,對象應該爲自己管理的資源負責,包括資源的分配與釋放,而且最好將資源的釋放與分配搞的自動化一點,典型的實現方法就是在構造函數裏分配資源,在析構函數裏釋放資源,這樣當其他程序員在使

原创 InterLockedIncrement and InterLockedDecrement函數原理

實現數的原子性加減。什麼是原子性的加減呢? 舉個例子:如果一個變量 Long value =0; 首先說一下正常情況下的加減操作:value+=1; 1:系統從Value的空間取出值,並動態生成一個空間來存儲取出來的值; 2:將