原创 C++和雙檢鎖的風險

本篇文章介紹了爲什麼在c++11之前使用單例模式的雙檢測鎖寫法會出問題。以及在c++11中怎麼解決的這些問題。第一篇論文主要討論了爲什麼會出問題,第二篇論文討論了怎麼利用c++11來解決這些問題。如果有翻譯不確定的地方放上了原文供

原创 零基礎使用pscc 證件照換底色

首先準備一張需要換底色的證件照,和一個Photoshop,我用的版本是Photoshop20.0.0。 步驟: 首先把圖片添加進ps。 按兩次ctrl+j新建兩個圖層,建好後如下圖所示。 使用快速選擇工具,把照片中

原创 通過基類指針delete,是否會造成內存泄漏

問題描述 定義一個基類A,一個子類B繼承A,在類B裏有個成成員變量int。 當我用A的指針指向B類的時候,deleteA的指針 問:B裏面的成員變量int會被釋放麼? 答:會 因爲,new和delete並不會記錄空間的大小,空間大

原创 epoll比select高效的原因及select比epoll高效場景

epoll高效的原因,從下面幾個方向來說: 文章目錄用戶態將文件描述符傳入內核的方式select:epoll:內核監測文件描述符是否可讀可寫的方式select:epoll:如何找到就緒的文件描述符並傳遞給用戶select:epol

原创 對muduo庫的一些思考

結論 以前總覺得muduo寫的不錯,以後用這個就可以了,但是現在看來,muduo還是有點單薄。 原因 原因是什麼呢,是上次開會,老闆說了一種場景。客戶端C1向服務端S1發起登錄請求,但是S1要先向S2請求C1是否在黑名單,S2返

原创 記錄下leetcode 劍指offer面試題13

記錄下leetcode 劍指offer面試題13 是一道中等題,提交了4次才過。。。尷尬。。。 題目描述如下: 地上有一個m行n列的方格,從座標 [0,0] 到座標 [m-1,n-1] 。一個機器人從座標 [0, 0] 的格子

原创 Linux塊設備I/O棧淺析

Linux存儲系統包括兩個部分:第一部分是給在用戶的角度提供讀/寫接口,數據以流爲表現形式;第二部分是站在存儲設備的角度提供讀/寫接口,數據以塊爲表現形式。文件系統位於兩者中間起到承上啓下的作用。 以塊爲表現形式,既塊存儲,簡單來

原创 解析調用sort導致死循環問題的原因

記錄一個sort問題 文章目錄問題復現查找問題問題原因結論 問題復現 #include <iostream> #include <algorithm> #include <vector> using namespace std;

原创 map和unordered_map性能對比

最近遇到一個查找對應關係的需求,第一時間想到map,但是千萬級的數據,於是使用了unordered_map。時間降低了3倍左右。 但是偶然看見網上有有人說手擼一個hashmap,最基本的鏈式的,都要比unordered_map要快

原创 zookeeper使用指北(c版)

最近要用到zookeeper,但是網上c版的資料太少,所以參考各個大神的博客,自己也寫了一點使用方法,記錄一下,順便幫助初學者入門。 文章目錄1. zookeeper簡介2. 官網及編譯3. 常用api會話的建立監聽回調創建z

原创 深入理解C++虛函數表

文章目錄什麼是虛表爲什麼要有虛表內存佈局單繼承派生類未覆蓋基類虛函數派生類覆蓋基類虛函數多繼承派生類未覆蓋基類虛函數派生類覆蓋基類虛函數一個問題C++中虛表存在的問題附錄 什麼是虛表 虛表全稱爲虛擬函數表。在C++語言中,每個有虛

原创 執行helloworld時系統內部到底發生了什麼

目錄0x00 簡述0x01 從輸入命令到找到文件0x02 程序編譯,連接鏈接靜態庫鏈接動態庫0x03 打開文件0x04 加載可執行目標文件0x05 執行文件0x06 參考書籍 0x00 簡述 經常被老師靈魂拷問,知道執行hell

原创 ubuntu14源碼安裝qt

環境 Docker version 18.06.3-ce, build d7080c1 Linux c5e082c17dae 4.4.0-31-generic #50~14.04.1-Ubuntu SMP QMake versio

原创 cuda_deviceQuery報錯35

現在遇到的問題是 我在ubuntu1404系統上, CUDA Version 8.0.61 NVRM version: NVIDIA UNIX x86_64 Kernel Module 430.40 Sun Jul 21 04

原创 Docker技術支持(nvidia-docker)

是什麼,爲什麼 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發佈到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。 --來自百度百科 是因爲目前的後端在開