原创 c++面試知識點總結

STL容器篇 C++面試基礎中不可避免會問到STL容器相關知識點,STL容器包含兩大類:序列式容器 & 關聯容器 序列式容器:元素都可序(ordered),但是未必有序(sorted),通過元素的順序來訪問,包含vector、li

原创 深入理解計算系統-《計算機系統漫談》

計算機系統漫談計算系統分層視圖存儲 ————本章介紹深入理解計算系統主要需要了解的內容 《深入理解計算機系統》經典書籍,強烈推薦細讀。 計算系統分層視圖 計算機系統包含兩部分:軟件 & 硬件 (1)軟件:應用程序、操作系統 (2)

原创 Java線程池:ThreadPoolExecutor的使用

Java線程池:ThreadPoolExecutor的使用 通過ThreadPoolExecutor構建BIO僞異步I/O通信的例子深入理解Java中線程池的概念。 - Thread vs Exector 首先,捋清楚Thread

原创 記錄第一次出差

階段一: 今天是入職以來第一次出差,些許激動,些許睏意,一大早和師父來到北研(dongdian)喫早點然後準備給運輸服務器的同事搭把手,這一點師父是想得周全的,作爲職場老油條的新人,偶爾會有種不操心的情緒帶入工作中。然鵝聯繫上系

原创 人人都是產品經理——一切從Kick Off開始

畢業不到一年,花了七八個月在公司做個一個產品(vGPU虛擬化項目),因爲大部分只涉及應用層,故項目本身難度不大,但是效果出來頗有失人意,具體存在問題如下: 1.需求及功能點不明確:作爲開發人員,不明瞭項目具體的需求及需要開發的功能

原创 圖解HTTP讀書筆記——HTTP頭部信息及請求方法

請求報文&響應報文內容 1.請求報文 上圖中請求方法採用GET請求URI定位的資源,HTTP支持的請求方法如下: Get:請求訪問已經被URI定位的資源(查); POST:傳輸實體的主體,例如,用戶上傳評論信息,用於更新資源信

原创 C++基礎回顧3——順序容器

順序容器概述 vector:可變大小數組,支持快速隨機訪問,在尾部之外的位置插入或刪除元素可能會變得很慢。 deque:雙端隊列,支持快速訪問,在頭尾插入\刪除速度很快 list:雙向列表,只支持雙向順序訪問,在list中任何位

原创 老生常談--C++構造函數類型

C++中老生常談的基礎是構造函數,申明一個空的class Empty,其實編譯器會自動產生默認構造函數、析構構造函數、複製構造函數、賦值構造函數如下代碼所示: class Empty{}; 定義上面的類,其實可以編譯器會產生如下

原创 論多態

多態的實現可以歸結於———virtual關鍵字 1、虛基表 帶有virtual關鍵字的class都有一個virtual table,該class的對象通常會帶有一個vptr(virtual table ptr),該vptr決定了程

原创 卡特蘭數

關於卡特蘭數,還是學習這位仁兄的博文比較合適: https://blog.csdn.net/Hackbuteer1/article/details/7450250

原创 深入理解計算機系統——stackoverflow

一、棧幀結構 在講棧幀結構之前需要明確棧幀結構是針對程序設計中的一個過程,過程是對一段指定參數和一個可選的返回值代碼的抽象,它提供了一種封裝代碼的方式,過程的形式在代碼的實現過程中具體表現爲:函數(function)、方法(met

原创 深入理解Linux內核——內存尋址

Linux內存尋址 一、Linux分段 邏輯地址,即指定一個操作數或一條指令的地址;線性地址,也稱虛擬地址,32位無符號整數,可表示4GB地址;物理地址:內存芯片級內存單元尋址;由內存硬件設備和內存總線相連的引腳決定。 內存尋址解

原创 深入理解計算機系統——存儲器層次結構

不管怎樣,作爲程序員我還是強烈建議大家多閱讀原理性的書籍,例如《深入理解計算機系統》。。。 本節梳理下存儲相關的知識點。 1、存儲分類 (1)寄存器 (2)隨機訪問存儲器(SRAM & DRAM) (3)非易失性存儲器(ROM)

原创 淺談算法

最近在研究算法,本文主要談一下自己最近刷題的感受及對算法的總結。 如果只是爲了準備面試,算法主要分爲一下幾類: 1.排序和查找 2.動態規劃 問題可拆解成更小粒度的子問題,要求求最優解,更大問題的解決結果依賴於小粒度的子問題,這

原创 《系統編程手冊》——虛擬內存操作篇

利用mmap分配共享內存後,還可以對其執行一系列的限制: (1)mprotect修改一塊虛擬內存的保護信息; mmap分配虛擬內存的時候會指定該內存的保護信息prot,可以理解爲進程對該內存的權限,分爲如下四種:PROT_NONE