<input id="0qass"><u id="0qass"></u></input>
  • <input id="0qass"><u id="0qass"></u></input>
  • <menu id="0qass"><u id="0qass"></u></menu>

    自定義博客皮膚VIP專享

    *博客頭圖:

    格式為PNG、JPG,寬度*高度大于1920*100像素,不超過2MB,主視覺建議放在右側,請參照線上博客頭圖

    請上傳大于1920*100像素的圖片!

    博客底圖:

    圖片格式為PNG、JPG,不超過1MB,可上下左右平鋪至整個背景

    欄目圖:

    圖片格式為PNG、JPG,圖片寬度*高度為300*38像素,不超過0.5MB

    主標題顏色:

    RGB顏色,例如:#AFAFAF

    Hover:

    RGB顏色,例如:#AFAFAF

    副標題顏色:

    RGB顏色,例如:#AFAFAF

    自定義博客皮膚

    -+

    江南、董少

    沉默是金、濤聲依舊

    • 博客(1940)
    • 資源 (42)
    • 論壇 (1)

    原創 2021秋招揚帆起航,祝追夢路上的學子九轉功成!長風破浪會有時,直掛云帆濟滄海!小小的本科也有大大的夢想!

    一、前言九月已至,秋招正在火熱的進行中,想必也有很多人已經在提前批拿到了Offer,轉眼間,自己也來到了大四,正在忙碌為秋招準備之中 一直想寫一篇秋招的文章,以此來記錄自己的體會以及對大學生涯的追憶(我已不再是當初那個少年),但是一直沒有完成。今天,外面下著小雨,剛吃完晚飯,因為疫情的原因在家宅了近半年,再過幾天就要返校了,心中透露著難以言喻的感覺,特此寫一篇文章來記錄一下最近的心情感受(我不太會寫文章,所以可能寫不了多少字,也可能會有很多病句,大家理解一下我這個理工男吧)二、備戰之前我準備秋招

    2020-09-02 21:51:33 713 6

    原創 從底層聊一聊協程的實現原理

    一、先介紹一組概念進程進程是系統進行資源分配和調度的基本單位 進程是一個實體,每一個進程都有自己地址空間線程線程是程序執行流的最小單元 一個標準的線程由線程ID,當前指令指針(PC),寄存器集合和堆棧組成 線程是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有系統資源,只擁有一點兒在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源子例程子例程是某個主程序的一部分代碼 子例程又被稱為子程序、過程、方法、函數等。在主程序中可

    2020-09-09 19:29:35 500 1

    原創 ZooKeeper分布式鎖的實現

    一、前言在介紹分布式鎖之前,我們來聊一聊鎖的種類線程鎖線程鎖就是在同一個進程中訪問臨界資源時使用的鎖,主要是用來線程間同步與互斥的 以Linux為例,常用的線程鎖有:互斥量、讀寫鎖、條件變量、自旋鎖等...進程鎖例如Nginx里面有一個accept鎖,是使用共享內存+信號量構成的分布式鎖不同機器的不同進程之間的鎖二、分布式鎖的實現方式常見的實現方式有: Redis分布式鎖 MySQL分布式鎖 ZooKeeper分布式鎖(最常用) ......其

    2020-09-06 14:01:54 957

    原創 Redis分布式鎖的實現

    一、前言在介紹分布式鎖之前,我們來聊一聊鎖的種類線程鎖線程鎖就是在同一個進程中訪問臨界資源時使用的鎖,主要是用來線程間同步與互斥的 以Linux為例,常用的線程鎖有:互斥量、讀寫鎖、條件變量、自旋鎖等...進程鎖分布式鎖二、...

    2020-09-06 09:19:26 425

    原創 Lua:09---OS庫:rename()、remove()、exit()、getenv()、execute()

    一、os.rename()該函數用于文件重命名二、os.remove()該函數用于移除(刪除)文件三、os.exit()該函數用于終止程序的執行 參數: 參數1:可選的,表示該程序的返回狀態,可以是一個數值(0表示執行成功)或者一個布爾值(true表示執行成功) 參數2:可選的,當值為true時會關閉LUa狀態并調用所有析構器釋放所占用的所有內存(這種終止方式通常是非必要的,因為大多數操作系統會在進程退出時釋放其占用的所有資源) 四、os.getenv()該函數用于獲取某個環

    2020-08-19 13:45:08 361

    原創 Lua:08---I/O庫:input()、output()、write()、read()、lines()、open()、tmpfile()、flush()、setvbuf()、seek()、pope

    一、前言由于Lua語言強調可移植性和嵌入型,所以Lua本身并沒有提供太多與外部交互的機制。在真實的Lua程序中,從圖形、數據庫到網絡的訪問等大多數I/O操作,要么由宿主機實現,要么通過不包括在發行版中的外部庫實現 單就Lua語言而言,只提供了ISO C語言標準支持的功能,即基本的文件操作等 對于文件操作來說,I/O庫提供了兩種不同的模型: 簡單I/O模型 完整I/O模型 一、簡單I/O模型簡單I/O模型虛擬了一個當前輸入流和一個當前輸出流,其I/O操作是通過這些流實現的 I/O庫把當

    2020-08-19 13:17:30 500

    原創 Lua:07---Lua函數:函數語法、多返回值、可變長參數(table.pack()、select())、table.unpack()、尾調用

    一、函數的定義Lua中函數定義的常見語法格式為:function 函數名(函數參數) -- 函數體end例如,下面是一個對序列'a'的元素進行求和的函數function add(a) local sum = 0 for i = 1, #a do sum = sum + a[i] end return sumend二、函數調用的注意事項是否需要帶"圓括號"一般情況下,函數調用時需要帶上圓括號(不論函數是否帶有參數)。

    2020-08-16 13:49:58 381

    原創 Lua:06---table表類型:表索引、表構造器、數組、序列、table標準庫

    一、表類型介紹表(Table)是Lua語言中最主要(事實上也是唯一的)和強大的數據結構 使用表,Lua語言可以以一種簡單、統一且高效的方式表示數組、集合、記錄和其他許多數據結構。也可以使用表來表示包(package)和其他對象(例如當調用math.sin時,對于Lua來說,實際上是以“字符串sin”為鍵檢索“表math”) Lua語言的表本質上是一種輔助數組,這種數組不僅可以使用數值作為索引,也可以使用字符串或者其他任意類型的值作為索引(nil除外)基本使用可以使用構造器表達式來創建表。例如

    2020-08-13 22:07:42 307

    原創 Lua:05---string字符串類型:lua字符串的使用、字符串標準庫、Unicode標準庫

    一、Lua字符串介紹Lua語言中的字符串是一串字節組成的序列。在Lua語言中,字符使用8個比特位來存儲 Lua語言中的字符串可以存儲包括空字符在內的所有數值代碼,這意味著我們可以在字符串中存儲任意的二進制數據 我們也可以使用任意一種編碼方式(UTF-8、UTF-16等)來存儲Unicode字符串(在文章下面會詳細介紹)二、字符串常量我們可以使用一對雙引號或者單引號來聲明字符串常量。例如:a = "a line"ab = 'another line'b雙引號和單引號聲明字符串是等

    2020-08-11 23:24:24 331

    原創 Lua:04---number數值類型:interger、float、算術運算/關系運算/運算符優先級、math數學庫、interger與float的轉換

    一、Lua數值類型發展在Lua 5.2及之前的版本中,所有的數值都以雙精度浮點格式表示 從Lua 5.3版本開始,Lua語言為數值格式提供了兩種選擇: 整型值:稱為interger的64位整型 浮點型值:稱為float的雙精度浮點類型 二、數值常量表示下面是一些合理的數值常量表示:40.4其中還可以使用科學記數法: 格式為一個可選的十進制部分外加一個可選的十進制指數部分) 科學記數法最終是一個浮點數 4.57e-30.3e125E+20三、類

    2020-08-11 16:20:26 449

    原創 Lua:03---Lua數據類型(附加邏輯運算符)

    一、Lua數據類型匯總Lua語言是一種動態類型語言,在這種語言中沒有類型定義,每個值都帶有其自身的類型信息 Lua有8種基本類型: nil:空 boolean:布爾 number:數值 string:字符串 userdata:用戶數據 function:函數 thread:線程 table:表 使用type()函數可以獲取一個值對應的類型名稱,該函數的返回值為string類型:type(nil)type(true)type(10.4*3)type("Hel

    2020-08-11 13:16:00 248

    原創 Lua:02---Lua語法命名規范、;號的使用、Lua注釋、Lua全局變量/局部變量、do-end代碼塊

    一、Lua語法命名規范Lua語言對大小寫是敏感的標識符命名規則Lua語言中的標識符(或名稱)可以由:任意字母、數字、下劃線組成,但是不能以數字開頭 例如下面都是符合規則的命名ii10_ijaSomeWthaLongName其中以“下劃線+大寫字母”組成的標識符通常被Lua語言用作特殊用途,應該避免使用。例如:_VERSIONLua的保留字下面是Lua語言的保留字,不能用作標識符二、分號的使用在Lua語言中,分號的使用是可選的 例如,下面的使用都

    2020-08-11 10:59:52 353

    原創 Lua:01---Lua語言介紹、運行Lua程序(lua解釋器)

    一、Lua語言介紹Lua語言從一開始就被設計為能與C/C++及其他常用語言開發的軟件集成在一起使用的語言,這種設計帶來了非常多的好處: 一方面, Lua語言不需要在性能、與三方軟件交互等C語言已經非常完善的方面重復“造輪子”,可以直接依賴C語言實現上述特性,因而Lua語言非常精簡 另一方面,通過引入安全的運行時環境、自動內存管理、良好的字符串 處理能力和可變長的多種數據類型, Lua 語言彌補了C語言在非面向硬件的高級抽象能力、 動態數據結構、魯棒性、調試能力等方面的不足 Lua語言強大的

    2020-08-11 10:34:43 382

    原創 網絡云盤項目:06---HTTP接口介紹、功能介紹、服務端/客戶端代碼解析

    本項目分為6篇博客文章完成: 1.項目總體介紹:http://www.gifted-edu.com/qq_41453285/article/details/107871393 2.Redis部署、MySQL部署、MySQL表設計:http://www.gifted-edu.com/qq_41453285/article/details/107871620 3.FastDFS部署:http://www.gifted-edu.com/qq_41453285/article/details/107874068 4.Ngin

    2020-08-09 16:49:15 447

    原創 網絡云盤項目:05---服務端部署、客戶端部署、演示運行效果

    一、服務端部署第一步:到Github中(https://github.com/dongyusheng/cloud-disk)將服務端的代碼下載下來放到ubuntu中,如下圖所示(只需要server目錄就行了)把服務端代碼下載之后,還需要修改一些地方 第二步:修改conf/目錄下的cfg.json文件 redis:配置redis服務端的IP和地址 mysql:添加MySQL的相關信息,并且database設置為我們之前創建的colud_disk dfs_path:因為我們的服務端程序調用

    2020-08-09 13:53:21 372 5

    原創 網絡云盤項目:04---Nginx配置(配置Nginx訪問FastCGI、FastDFS)

    本項目分為7篇博客文章完成: 1.項目總體介紹:http://www.gifted-edu.com/qq_41453285/article/details/107871393 2.Redis部署、MySQL部署、MySQL表設計:http://www.gifted-edu.com/qq_41453285/article/details/107871620 3.FastDFS部署:http://www.gifted-edu.com/qq_41453285/article/details/107874068 4.Ngin

    2020-08-09 13:44:35 311

    原創 網絡云盤項目:03---FastDFS集群部署

    本項目分為7篇博客文章完成: 1.項目總體介紹:http://www.gifted-edu.com/qq_41453285/article/details/107871393 2.Redis部署、MySQL部署、MySQL表設計:http://www.gifted-edu.com/qq_41453285/article/details/107871620 3.FastDFS部署:本文介紹的 一、安裝fastdfs可以通過下載FastDFS的源碼包來編譯安裝FastDFS FastDFS的安裝就不詳細介紹

    2020-08-09 13:43:17 338

    原創 網絡云盤項目:02---Redis部署、MySQL部署、MySQL表設計

    本項目分為7篇博客文章完成: 1.項目總體介紹:http://www.gifted-edu.com/qq_41453285/article/details/107871393 2.Redis部署、MySQL部署、MySQL表設計:本文介紹 一、本文目的本文配置整個項目中的Redis與MySQL,并且對MySQL中的數據表進行設計二、Redis部署Redis的安裝Redis的安裝比較容易,可以參閱:http://www.gifted-edu.com/qq_41453285/article/det

    2020-08-09 13:41:22 343

    原創 網絡云盤項目:01---項目總體介紹

    一、項目介紹本項目是一個類似于百度云盤的項目 Github開源鏈接:二、項目架構圖Qt充當網絡云盤的客戶端,支持對文件的上傳、下載、刪除、共享等 后端使用Nginx充當代理服務器,將Qt客戶端發送過來的請求轉發給后臺的FastCGI進行進行處理 FastCGI對Nginx轉發過來的請求進行解析處理 FastDFS集群中storage節點保存著客戶端的文件 Redis保存著客戶端的信息(token)等 MySQL保存著文件的信息三、項目包含的技術項目包含的技術大概有: Qt

    2020-08-09 13:33:17 472

    原創 面試沖刺:49---死鎖是怎么產生的?死鎖如何預防?如何避免死鎖(銀行家算法)?死鎖如何檢測?死鎖如何解除?

    一、死鎖產生的原因下面是死鎖產生的必要條件(4個,缺一不可): 互斥:資源不能被共享,只能由一個進程使用 請求與保持:已經得到資源的進程可以再次申請新的資源 不可剝奪:已經分配的資源不能從相應的進程中被強制地剝奪 循環等待:系統中若干進程組成環路,該環路中每個進程都在等待相鄰進程正占用的資源 二、死鎖預防破壞互斥條件:就是在系統里取消互斥、若資源一般不被一個進程獨占使用,那么死鎖是肯定不會發生的,但一般“互斥”條件是無法破壞的。因此,在死鎖預防里主要是破壞其他三個必要條件,而

    2020-08-06 13:42:54 408 6

    原創 面試沖刺:48---Redis的集群模式是如何實現的呢?

    一、Redis集群Redis Cluster是Redis的分布式解決方案,在3.0版本正式推出,有效地解決了Redis分布式方面的需求 當遇到單機內存、并發、流量等瓶頸時,可以采用Cluster架構方案達到負載均衡的目的二、槽分配Redis Cluser采用虛擬槽分區,所有的鍵根據哈希函數映射到0~16383整數槽內三、集群的搭建內容太多了,詳情請參閱:http://www.gifted-edu.com/qq_41453285/article/details/106451296四、集群通

    2020-08-06 11:32:28 324

    原創 面試沖刺:47---Redis的哨兵模式是如何實現的呢?

    一、Redis哨兵模式Redis的哨兵模式(Sentienl)是為了解決復制中的問題: 在“Redis復制”架構中,如果主節點出現了故障,那么, 就需要手動將一個從節點晉升變為主節點,這個過程需要人工干預,比較麻煩 主節點的寫能力受到單機的限制 主節點的存儲能力受到單機的限制 Redis哨兵模式的出現是為了解決上面出現的問題,從而提供: Reids的高可用 監控各個節點 能夠實現自動故障轉移 RedisSentinel的功能有: 監控:Sentinel節點會定期檢

    2020-08-06 11:21:37 342

    原創 面試沖刺:46---Redis的復制是如何實現的呢?

    一、Redis復制介紹Redis復制的語法詳情可以參閱: http://www.gifted-edu.com/qq_41453285/article/details/106151825 http://www.gifted-edu.com/qq_41453285/article/details/106151899 http://www.gifted-edu.com/qq_41453285/article/details/106160219 為了解決分布式系統中單點的問題,Redis提供了復制,通過創建一個主服務

    2020-08-06 11:03:19 293

    原創 面試沖刺:45---Redis的持久化有哪幾種方式?優缺點是什么?

    一、Redis持久化持久化就是為了把Redis內存中的數據持久化保存到硬盤中,防止數據的丟失 Redis提供了兩種持久化方式 RDB持久化 AOF持久化 二、RDB持久化關于RDB持久化,詳情還可以參閱:http://www.gifted-edu.com/qq_41453285/article/details/106106568觸發方式RDB持久化的觸發有兩種方式:手動觸發與自動觸發 手動觸發: 通過執行save命令或者bgsave命令 save命令已經啟用了,因為save會將當

    2020-08-06 10:22:01 350

    原創 面試沖刺:44---Linux是如何創建和管理進程的?fork()與vfork()的特點與區別是什么?寫時復制是什么?fork()底層是如何實現的?

    一、fork詳情還可以參閱:http://www.gifted-edu.com/qq_41453285/article/details/103743246接口語法用來創造一個子進程 在子進程中,成功的fork調用會返回 0。在父進程中fork返回子進程的 pid。如果出現錯誤,fork返回一個負值成功調用fork會創建一個新的進程,它幾乎與調用fork的進程一模一樣,這兩 個進程都會繼續運行 最常見的fork用法是創建一個新的進程,然后使用exec載入二進制映像,替換當前進程的映像。這種情況下

    2020-08-06 00:01:36 343

    原創 面試沖刺:43---進程調度的策略有哪些?

    一、先來先服務(FCFS)是一種最簡單的調度算法 規則為:每次調度是從進程隊列中選擇一個最先進入該隊列的進程,為之分配資源投入運行。該進程一直運行完成或發生某事件而阻塞后才繼續處理后面的進程二、優先級調度有短進程優先級、高優先權優先級、高響應比優先級等,按照優先級來執行就緒進程隊列中的調度 備注:高響應比 = (等待時間 + 服務運行時間) / 服務運行時間三、時間片輪轉調度系統還是按照先來先服務調度就緒進程,但每次調度時,CPU都會為隊首進程分配并執行一個時間片(幾ms~百 ms

    2020-08-05 23:50:41 356

    原創 面試沖刺:42---虛擬地址、邏輯地址、線性地址、物理地址是什么意思?各個地址之間是如何轉換的?

    Linux系統中的物理存儲空間和虛擬存儲空間的地址范圍分別都是從0x00000000到0xFFFFFFFF,共4GB,但物理存儲空間與虛擬存儲空間布局完全不同 Linux運行在虛擬存儲空間,并負責把系統中實際存在的遠小于4GB的物理內存根據不同需求映射到整個4GB的虛擬存儲空間中 Linux主要工作在保護模式下。80X86從邏輯地址到物理地址變換中經過了兩個階段: 第一階段使用分段機制把程序的邏輯地址變換成處理器可尋址內存空間(稱為線性地址空間)中的地址 第二階段的分頁機制把線性地址轉換成物理地址

    2020-08-05 23:39:59 1048

    原創 面試沖刺:41---分頁與分段是什么?它們的區別是什么?

    一、分頁、分段的發展歷史在分段這個技術還沒有出現之前,程序運行是需要從內存中分配出足夠多的連續的內存,然后把整個程序裝載進去。舉個例子,某個程序大小是10M,然后,就需要有連續的10M內存空間才能把這個程序裝載到內存里面。如果無法找到連續的10M內存,就無法把這個程序裝載進內存里面,程序也就無法得到運行直接把整個程序裝載進內存的方式是有一定的問題的①地址空間不隔離:舉個例子,假設我有兩個程序,一個是程序A,一個是程序B。程序A在內存中的地址假設是0x00000000~0x00000099,程序B

    2020-08-05 23:11:14 398

    原創 面試沖刺:40---進程和線程的區別是什么?

    一、根本區別進程是操作系統資源分配的基本單位 線程是任務調度和執行的基本單位二、地址空間進程有自己獨立的地址空間,每啟動一個進程,系統都會為其分配地址空間,建立數據表來維護代碼段、堆棧段和數據段 線程沒有獨立的地址空間,同一進程的線程共享本進程的地址空間三、資源進程之間的資源是獨立的 同一進程內的線程共享本進程的資源三、執行過程每個獨立的進程有一個程序運行的入口、順序執行序列和程序入口 但是線程不能獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制四、

    2020-08-05 22:43:31 355

    原創 面試沖刺:39---MySQL的數據如何恢復到任意時間點?

    以定時的做全量備份,以及備份增量的binlog日志為前提 恢復到任意時間點首先將全量備份恢復之后,再此基礎上回放增加的binlog直至指定的時間點

    2020-08-05 22:29:50 313

    原創 面試沖刺:38---epoll在LT和ET模式下的區別是什么?使用時有什么注意事項嗎?

    一、LT、ET模式介紹水平觸發模式(LT)LT (Level Trigger,水平觸發)模式 LT模式是epoll的默認的工作模式,這種模式下epoll 相當于一個效率較高的poll。當往epoll內核事件表中注冊一個文件描述符上的EPOLLET事件時,epoll將以ET模式來操作該文件描述符,ET模式是epoll的高效工作模式。對于采用LT工作模式的文件描述符,當 epoll_wait 檢測到其上有事件發生并將此事件通知應用程序后,應用程序可以不立即處理該事件,這樣,當應用程序下一次調用epo

    2020-08-05 22:24:57 399

    原創 面試沖刺:37---IO多路復用的三種機制select、poll、epoll了解嗎?區別是什么?

    select、poll、epoll三組I/O復用系統調用: 都能同時監聽多個文件描述符 它們將等待由timeout參數指定的超時時間,直到一個或者多個文件描述符上有事件發生時返回,返回值就是就緒的文件描述符的數量。返回0表示沒有事件發生 3種IO復用介紹分別見: select詳情見文章:http://www.gifted-edu.com/qq_41453285/article/details/89607091 poll詳情見文章:http://www.gifted-edu.com/qq_41453285/

    2020-08-05 19:27:38 378

    原創 Linux(服務器編程):46---KCP協議(UDP可靠性傳輸)

    一、TCP、UDP相關說明TCP真的可靠嗎?TCP在傳輸層是可靠的,但是在應用層是不可靠的 例如,應用層在接收到數據之后,假設將數據放入緩存隊列,然后將數據出隊、解析、處理、做出響應。在這一系列的過程中都不屬于傳輸層的范疇,而屬于應用層的范疇,因此在這一系列過程中哪一步出錯了,也可能導出數據處理錯誤TCP、UDP的選擇在網絡狀況良好的情況下,UDP和TCP的選擇根據你的業務需求來定 但是在弱網情況下,一般選擇UDP: 因為弱網情況下網絡狀況不好,如果在這種情況下依然采用TCP的機

    2020-08-05 19:16:02 1753 1

    原創 面試沖刺:36---TCP的擁塞控制是如何實現的?

    TCP的擁塞控制主要經過下面4個過程 慢啟動 擁塞避免 快速重傳、快速恢復 詳情還可以參閱:http://www.gifted-edu.com/qq_41453285/article/details/104225820一、慢啟動當一個新的TCP連接建立或者檢測到由重傳超時(RTO)導致丟包時,都會執行慢啟動 整體過程大致為:當TCP初次發送數據時,并不是直接發送大量的數據,而是先發送一小部分數據,然后將數據量慢慢增加,直到達到一個閾值(ssthresh)之后,數據量不再增加,而是進入擁塞避免

    2020-08-05 19:13:42 352

    原創 面試沖刺:35---TCP的流量控制是如何實現的?

    種是基于速率流量的控制:它是給發送方指定某個速率,同時確保數據永遠不能 超過這個速率發送。這種類型的流量控制最適合流應用程序,可被用于廣播和組播發現一種是基于窗口流量的控制:發送窗口、接收窗口(通過窗口大小字段來設置)...

    2020-08-05 18:26:13 415

    原創 面試沖刺:34---TCP的超時與重傳是如何實現的?

    TCP的超時與重傳的方式有2大類: “基于時間”的超時與重傳 “基于確認信息”的超時與重傳(快速重傳) 一、“基于時間”的超時重傳實現原理為:TCP在發送數據時會設置一個計時器,若至計時器超時仍未收到數據確認信息,則會引發相應的超時或基于計時器的重傳操作,計時器超時稱為重傳超時(RTO) 其中比較重要的是哪個“RTO”: 其代表超時的時間 在TCP的不斷通信過程中,隨著時間的推移,RTO會自適應不斷地進行變化 RTO變化與設置的規則,詳情可以參閱:https://blog.csdn

    2020-08-05 17:11:51 347

    原創 面試沖刺:33---TCP、UDP的區別是什么?什么時候使用TCP?什么時候使用UDP?

    一、TCP、UDP的區別是什么?TCP更多細節請參閱:http://www.gifted-edu.com/qq_41453285/article/details/104016416 TCP報文的結構如下:TCP頭部結構如下:TCP是一種面向連接的、可靠的字節流服務 TCP提供了如下的特性: 校驗和:TCP維持了一個強制的校驗和,該校驗和涉及它的頭部、任何相關應用程序數據和IP 頭部的所有字段 數據的排序與重復丟棄:TCP通過給其中每個字節關聯一個序列號對所發送的數據進行排序(sequ

    2020-08-05 16:36:30 297

    原創 面試沖刺:32---MySQL為什么使用B+樹作為索引? 索引是如何實現的?聚集索引與非聚集索引的區別是什么?

    一、為什么使用B+樹作為索引? InnoDB支持的常見的索引有: B+樹索引 全文索引 哈希索引 其中B+樹索引是InnoDB的默認索引,可參閱:http://www.gifted-edu.com/qq_41453285/article/details/104202458B數的特點一個M階的B樹具有如下幾個特征:(如下圖 M=3)(下文的關鍵字可以理解為有效數據,而不是單純的索引) 定義任意非葉子結點最多只有 M 個兒子,且 M&gt;2 根結點的兒子數為[2, M] 除

    2020-08-05 16:04:54 359

    原創 面試沖刺:31---介紹一下MySQL的存儲引擎、InnoDB與MyISAM有哪些區別呢?如何選取適合的存儲引擎呢?

    一、MySQL的存儲引擎詳情還可以參閱: http://www.gifted-edu.com/qq_41453285/article/details/103482845 http://www.gifted-edu.com/qq_41453285/article/details/87966011 功能 MyISAM Memory InnoDB Archive 存儲限制 256TB RAM 64TB NO 支持事務 NO NO YES

    2020-08-05 13:43:24 322

    原創 C/C++面試:48---set、map、unordered_set、unordered_map的區別是什么?底層是如何實現的?操作復雜度是多少?

    一、關聯式容器關聯式容器有: set map multiset multimap 這些容器的底層實現都是一樣的: 全部都是基于STL自己實現的紅黑樹實現的,關于STL的紅黑樹請參閱:http://www.gifted-edu.com/qq_41453285/article/details/103645839 STL實現的紅黑樹是不提供給外部直接使用的,因為它是作為關聯式容器的底層實現使用的 set底層實現:是基于STL的紅黑樹實現的。所以set提供的各種接口,內部都是調用紅

    2020-08-05 13:26:06 386

    SGI STL源碼.zip|SGI STL源碼.zip

    SGI STL的源代碼,源碼解析可以參見專欄:http://www.gifted-edu.com/qq_41453285/category_9587198.html

    2020-08-26

    QQChat.zip

    Qt實現QQ聊天,編碼介紹參閱CSDN鏈接:http://www.gifted-edu.com/qq_41453285/article/details/100527346

    2020-08-06

    binarySearchTree.zip

    二叉搜索樹的鏈表形式實現,代碼講解見文章:http://www.gifted-edu.com/qq_41453285/article/details/103963343

    2020-01-23

    linkedBinaryTree.zip

    二叉樹的鏈表形式實現,代碼講解見文章:http://www.gifted-edu.com/qq_41453285/article/details/103638694

    2020-01-22

    completeWinnerTree.zip

    贏者樹的代碼實現,代碼講解可以參見文章:http://www.gifted-edu.com/qq_41453285/article/details/103649141

    2020-01-12

    maxHblt.zip

    高度優先左高樹(HBLT)的實現,代碼講解見文章:http://www.gifted-edu.com/qq_41453285/article/details/103643863

    2019-12-22

    maxHeap.zip

    使用最大堆實現優先級隊列,代碼講解見文章:http://www.gifted-edu.com/qq_41453285/article/details/103639243

    2019-12-21

    arrayTree.zip

    完全二叉樹的數組實現,代碼講解見文章:http://www.gifted-edu.com/qq_41453285/article/details/103561197

    2019-12-16

    hashChains.zip

    散列鏈地址法,詳細介紹見文章:http://www.gifted-edu.com/qq_41453285/article/details/103534526

    2019-12-15

    SGI STL源碼.zip

    SGI STL的源代碼,源碼解析可以參見專欄:http://www.gifted-edu.com/qq_41453285/category_9587198.html

    2019-12-14

    hashTable.zip

    哈希沖突的線性探查法,詳細介紹見文章:http://www.gifted-edu.com/qq_41453285/article/details/103533372

    2019-12-13

    skipList.zip

    跳表的C++實現,具體介紹可以參見文章:http://www.gifted-edu.com/qq_41453285/article/details/103449903

    2019-12-12

    sortedChain.zip

    字典的鏈表實現,介紹見文章:http://www.gifted-edu.com/qq_41453285/article/details/103449056

    2019-12-08

    linkedQueue.zip

    隊列的鏈表實現,見文章:http://www.gifted-edu.com/qq_41453285/article/details/103446221

    2019-12-08

    arrayQueue.zip

    隊列的數組形式實現,見文章:http://www.gifted-edu.com/qq_41453285/article/details/103444692

    2019-12-08

    linkedStack.zip

    棧的鏈表實現,詳情見文章:http://www.gifted-edu.com/qq_41453285/article/details/103414107

    2019-12-08

    derivedLinkedStack.zip

    棧的鏈表實現,詳情見文章:http://www.gifted-edu.com/qq_41453285/article/details/103414107

    2019-12-05

    arrayStack.zip

    棧的數組形式實現,見文章:http://www.gifted-edu.com/qq_41453285/article/details/103329785

    2019-12-05

    derivedArrayStack.zip

    棧的數組形式實現,文件見:http://www.gifted-edu.com/qq_41453285/article/details/103329785

    2019-12-05

    squareMatrix.zip

    特殊矩陣的實現,C++實現。具體見文章:http://www.gifted-edu.com/qq_41453285/article/details/103258171

    2019-11-30

    matrix.zip

    矩陣的數組實現方式,使用見文章:http://www.gifted-edu.com/qq_41453285/article/details/103264337

    2019-11-26

    單鏈表chain.zip

    線性表的單向鏈表實現方式,使用見文章:http://www.gifted-edu.com/qq_41453285/article/details/103218024

    2019-11-25

    vrctorList.zip

    用vector實現的線性表,代碼介紹可以參見博客:http://www.gifted-edu.com/qq_41453285/article/details/103208499

    2019-11-23

    arrayList.cpp

    用數組實現的線性表,代碼介紹可以參見博客:http://www.gifted-edu.com/qq_41453285/article/details/103198828

    2019-11-23

    arrayList.zip

    用數組實現的線性表,代碼介紹可以參見博客:http://www.gifted-edu.com/qq_41453285/article/details/103198828

    2019-11-22

    USB DNW.zip

    JZ2440V3開發板需要使用到的工具,用法可以參考文章:http://www.gifted-edu.com/qq_41453285/article/details/103016175、http://www.gifted-edu.com/qq_41453285/article/details/103016417

    2019-11-11

    01.OpenOCD with GUI setup.zip

    JZ2440V3開發板需要使用到的工具,用法可以參考文章:http://www.gifted-edu.com/qq_41453285/article/details/103008185、http://www.gifted-edu.com/qq_41453285/article/details/103003691

    2019-11-11

    OpenJTAG.zip

    JZ2440V3開發板需要使用到的工具,用法可以參考文章:http://www.gifted-edu.com/qq_41453285/article/details/103003691

    2019-11-11

    openwrt-17.01.4-17.01.4.zip

    openwrt-17.01.4-17.01.4的源碼,下載之后進行編譯安裝,詳細的源碼安裝步驟見文章:http://www.gifted-edu.com/qq_41453285/article/details/102499225

    2019-10-16

    LinEnum-master.rar

    LinEnum.sh提權腳本。具體使用見CSDN文章:http://www.gifted-edu.com/qq_41453285/article/details/101104225

    2019-09-21

    webshell b374k.zip

    B374k WebShell的搭建使用,具體使用方法見文章:http://www.gifted-edu.com/qq_41453285/article/details/101025240

    2019-09-19

    HTTPS單向認證通信

    HTTPS的單向認證通信,代碼解壓之后make編譯,之后根據CSDN博客的內容進行運行:http://www.gifted-edu.com/qq_41453285/article/details/99708086(備注:單向認證) 備注:此資源缺少一個client.c文件,下載時聯系博客小編

    2019-09-14

    PthreadPool.zip

    針對于高并發服務器的線程池設計,采用3線程2池技術,詳情介紹見CSDN博客:http://www.gifted-edu.com/qq_41453285/article/details/99708377

    2019-09-14

    XSS測試平臺.zip

    XSS測試平臺是測試XSS漏洞獲取cookie并接收Web頁面的平臺

    2019-08-06

    sqIi-labs,SQL注入平臺

    sqIi-labs:是一款學習SQL注入的開源平臺,共有75種不同類型的注入 解壓密碼:ms08067.com sqIi-labs的使用文章見:http://www.gifted-edu.com/qq_41453285/article/details/100827739

    2019-08-06

    DVWA-master.zip

    DVWA是一款開源的滲透測試漏洞練習平臺,其中內含XSS、SQL注入、文件上傳、文件包含、CSRF和暴力破解等各個難度的測試環境

    2019-08-06

    wampserver2.5.zip

    WAMP是Windows中Apache、MySQL和PHP的應用環境,此文檔為wampserver2.5

    2019-08-06

    glibc-2.27.tar.gz

    glibc的2.27的源碼,如果想要研究堆塊的,可以看本文的博客:http://www.gifted-edu.com/qq_41453285/category_9150569.html

    2019-07-22

    深度尋路.cpp

    深度尋路的.cpp,含有注釋,里面使用到的Stack.h也在我的資源中,也可下載

    2018-10-22

    數據結構-棧(C語言)

    棧的簡單實現,函數出棧入棧,代碼簡單,含注釋,適合初學者

    2018-10-18

    江南、董少的留言板

    發表于 2020-01-02 最后回復 2020-03-03

    空空如也
    提示
    確定要刪除當前文章?
    取消 刪除
    多乐彩