原创 malloc()參數爲0的情況

  問題來自於《程序員面試寶典(第三版)》第12.2節問題9(這裏不評價《程序員面試寶典》,就題論題): 下面的代碼片段輸出是什麼?爲什麼? char *ptr; if((ptr = (char *)malloc(0))==NULL)

原创 全面解析回溯法:算法框架與問題求解

目錄 什麼是回溯法? 回溯法的通用框架 利用回溯法解決問題 問題1:求一個集合的所有子集問題2:輸出不重複數字的全排列問題3:求解數獨——剪枝的示範問題4:給定字符串,生成其字母的全排列問題5:求一個n元集合的k元子集問題6:電話號碼生成

原创 手把手教你編寫一個具有基本功能的shell(已開源)

  剛接觸Linux時,對shell總有種神祕感;在對shell的工作原理有所瞭解之後,便嘗試着動手寫一個shell。下面是一個從最簡單的情況開始,一步步完成一個模擬的shell(我命名之爲wshell)的過程。這個所謂的shell和主流

原创 Java入門記(一):折騰HelloWorld

  HelloWorld,學習每門語言的第一步。有人戲稱,這些年的編程生涯就是學習各種語言的HelloWorld,不知是自謙還是自嘲。目前所在的公司使用Java作爲主要開發語言,我進行語言轉換也大半年了,這HelloWorld便是語言轉換

原创 “珠璣之櫝”系列簡介與索引

系列博文主要目的:   收集《編程珠璣》和《編程珠璣(續)》(以下簡稱《續》)上的算法和思想,幷包括了一些自己的思考和對相關問題的引申,以備複習和查用。 內容提要:   主要是算法收集,結合了《程序設計實踐》 (Practise of P

原创 通過JDBC進行簡單的增刪改查(以MySQL爲例)

目錄 前言:什麼是JDBC 一、準備工作(一):MySQL安裝配置和基礎學習 二、準備工作(二):下載數據庫對應的jar包並導入 三、JDBC基本操作 (1)定義記錄的類(可選) (2)連接的獲取 (3)insert (4)update

原创 Java入門記(二):向上轉型與向下轉型

  在對Java學習的過程中,對於轉型這種操作比較迷茫,特總結出了此文。例子參考了《Java編程思想》。     目錄 幾個同義詞 向上轉型與向下轉型   例一:向上轉型,調用指定的父類方法   例二:向上轉型,動態綁定   例三:向上轉

原创 《現代操作系統》精讀與思考筆記 第一章 引論

  本系列博文是《現代操作系統(英文第三版)》(Modern Operating Systems,簡稱MOS)的閱讀筆記,定位是正文精要部分的摘錄和課後習題精解,因此不會事無鉅細的全面摘抄,僅僅根據個人情況進行記錄和推薦。由於是英文版,部

原创 編寫一個make

一、簡介   How to make a "make"?在進行實現前,應該先對make有一個最基本的瞭解。這裏稍作簡介:當一個程序的源文件較少時,對其進行修改並重新生成可執行文件並不複雜,只要將這些文件名作爲參數傳遞給編譯器即可;當一個項

原创 《現代操作系統》精讀與思考筆記 第八章 多處理機系統 第九章 安全

  兩章雖然篇幅不小,不過都是以介紹爲主,這部分不是我讀這本書的重點,看得比較粗略,筆記內容也不多,乾脆合二爲一。 第八章 多處理機系統   正如章節名,這章主要是關於多處理機、多計算機、虛擬化、分佈式系統。由於非單機的多處理器系統和網絡

原创 《現代操作系統》精讀與思考筆記 第五章 輸入/輸出

  本系列博文是《現代操作系統(英文第三版)》(Modern Operating Systems,簡稱MOS)的閱讀筆記,定位是正文精要部分的摘錄理解和課後習題精解,因此不會事無鉅細的全面摘抄,僅僅根據個人情況進行記錄和推薦。由於是英文版

原创 優化程序性能的幾個方法(來自於《深入理解計算機系統》)

  這部分的代碼出自《深入理解計算機系統》(CS:APP)第五章,其目的是通過手工改變代碼結構,而不是算法效率和數據結構優化,提高執行效率。有些編譯器在某些優化選項下可能會做出類似的改動。   爲了便於以後的查閱和使用,本文進行了摘錄和簡

原创 《現代操作系統》精讀與思考筆記 第三章 內存管理

  本系列博文是《現代操作系統(英文第三版)》(Modern Operating Systems,簡稱MOS)的閱讀筆記,定位是正文精要部分的摘錄理解和課後習題精解,因此不會事無鉅細的全面摘抄,僅僅根據個人情況進行記錄和推薦。由於是英文版

原创 《現代操作系統》精讀與思考筆記 第二章 進程和線程

  本系列博文是《現代操作系統(英文第三版)》(Modern Operating Systems,簡稱MOS)的閱讀筆記,定位是正文精要部分的摘錄和課後習題精解,因此不會事無鉅細的全面摘抄,僅僅根據個人情況進行記錄和推薦。由於是英文版,部

原创 《現代操作系統》精讀與思考筆記 第十至十三章

  本系列博文是《現代操作系統(英文第三版)》(Modern Operating Systems,簡稱MOS)的閱讀筆記,定位是正文精要部分的摘錄和課後習題精解,因此不會事無鉅細的全面摘抄,僅僅根據個人情況進行記錄和推薦。由於是英文版,部