原创 服務器端開發經驗總結 Linux C語言

簡介在進行服務器端開發的時候需要考慮一些算法和性能問題,經過了幾年的開發,對這方面有了一些經驗,現在寫下來跟大家分享和討論。我主要是在Linux下進行C語言的開發,所以後面的實現都是基於Linux操作系統並用C語言來講解。其它平臺和語言需

原创 Huffman樹,紅黑樹,線索二叉樹

數據結構之huffman 樹帶權、路徑長度最短的樹路徑:從樹中一個結點到另一個結點之間的分支構成這兩個結點間的~路徑長度:路徑上的分支數樹的路徑長度:從樹根到每一個結點的路徑長度之和在許多應用中,常常將樹中結點賦予一個有某種意義的實數,稱

原创 《UNIX網絡編程 卷2》編譯環境搭建

1. 下載源碼    W. Richard Stevens的主頁:http://www.kohala.com/start/    下載unpv22e.tar.gz到 /usr/local/src 目錄unpv22e.tar.gz可以到Li

原创 線程取消(pthread_cancel)講解

基本概念pthread_cancel調用並不等待線程終止,它只提出請求。線程在取消請求(pthread_cancel)發出後會繼續運行,直到到達某個取消點(CancellationPoint)。取消點是線程檢查是否被取消並按照請求進行動作

原创 進程調度算法

調度算法是指:根據系統的資源分配策略所規定的資源分配算法。1. 先來先服務  1. 先來先服務調度算法。先來先服務(FCFS)調度算法是一種最簡單的調度算法,該算法既可用於作業調度, 也可用於進程調度。FCFS算法比較有利於長作業(進程

原创 《UNIX網絡編程 卷1》編譯環境配置

        本文針對《網絡編程 卷1》unp.h 頭文件及其編譯問題進行記錄,本書源碼下載地址 http://www.unpbook.com   

原创 十種常見排序算法

排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。我們

原创 集線器,路由器,交換機,網關,網橋的區別和功能原理

路由器:連接不同IP 子網的設備,負責尋徑和轉發,工作在OSI 的網絡層。網橋: 連接不同子網,使其透明通信,工作在數據鏈路層,解析數據幀。缺點是無法避免“廣播風暴”。網關(gateway):工作在應用層,不同子網間的翻譯器,對收到的信息

原创 MySQL索引講解

MySQL的B-Tree索引(技術上說B+Tree)       在 MySQL 中,主要有四種類型的索引,分別爲: B-Tree 索引, Hash 索引, Fulltext 索引和 R-Tree 索引。我們主要分析B-Tree 索引。 

原创 HTTP 協議詳解

一、 網絡通信簡介傳輸層及其以下的機制由內核提供,應用層由用戶進程提供,應用程序對通訊數據的含義進行解釋,而傳輸層及其以下處理通訊的細節,將數據從一臺計算機通過一定的路徑發送到另一臺計算機。應用層數據通過協議棧發到網絡上時,每層協議都要加

原创 Unix下C程序內存泄漏檢測工具Valgrind安裝與使用

Valgrind是一款用於內存調試、內存泄漏檢測以及性能分析的軟件開發工具。 Valgrind的最初作者是Julian Seward,他於2006年由於在開發Valgrind上的工作獲得了第二屆Google-O'Reilly開源代碼獎

原创 最常用的Java庫一覽

一個典型的Java項目依賴於第三方庫。本文總結的Java庫適用於各種應用,比較流行並且廣泛使用。其中一些還提供簡單的示例(來自ProgramCreek)。 Java SDK 肯定是使用最廣的庫,所以本文的名單焦點是流行的第三方庫。該列表可

原创 VS中常用的實用快捷鍵

智能提示:ctrl + J 方法參數提示:ctrl + shift +空格 智能標記(如:提示using、實現接口、抽象類等):ctrl + . 執行測試:ctrl + R,T(當前上下文),ctrl + R,A(所有),ctrl + R

原创 Windows server 2016基本設置

windows server 2016相比較而言具有更加穩定的特性,但不免有些繁瑣,可以通過一些設置可以使其更加易用。 一、組策略 WIN鍵+R鍵,輸入gpedit.msc,進入組策略設置。 1、計算機配置 - Windows設置 - 安

原创 Qt 多線程中的信號/槽

Qt 多線程中的信號/槽   connect函數的五個參數表示的意義依次爲:sender*, signal, receiver*, slot,connectionTpye 其中槽可以是receiver的成員函數,或者是任意可訪問的靜態函數