原创 段頁式存儲管理

分段存儲管理 在分段存儲管理方式中,每個進程的地址空間被分爲若干個地址連續的段。每個段是一個完整的邏輯信息單元,故而分段式存儲管理能更加輕易實現共享。操作系統將每個段離散地加載到各個分區中。 如圖: 分段存儲方式地邏輯地址表示如

原创 分頁存儲管理

在使用分區存儲管理時,如果系統不能爲進程找到一塊連續的足夠大的分區,就需要進行分區靠攏操作,非常耗費系統時間。分頁存儲管理是指,將系統內存物理地址空間分爲若干大小固定的塊(頁框或物理塊),將進程的邏輯地址空間也分爲相同大小的若干頁

原创 分區存儲管理

分區存儲管理是一種很早期的內存管理方案,其基本思想是將內存區域劃分爲多個區,給每個作業分配一個區使用,並且每個作業只能在被分配的區中運行。 按照劃分方式不同,主要有三種不同的分區方式:固定分區,可變分區,重定位分區 固定分區 固定

原创 生成器與協程

操作系統會爲每個函數分配一個棧幀,但是對於python中生成器所在函數,其棧幀是分配在堆上面的,所以其函數運行狀態能夠一值保存。此即生成器實現原理。 做個實驗,打印生成器函數地址和普通函數地址 def yieldFunc():

原创 使用python調用高德地圖的web服務

在使用高德地圖的web 服務之前,需要先註冊爲高德開發者 https://lbs.amap.com/api/webservice/summary/ 註冊完畢後,進入控制檯可以看到如下界面: 點擊“應用管理–>我的應用–>創建新應用”

原创 C++利用虛表指針訪問類私有函數

一、C++虛表指針 編譯器在編譯時爲每一個含有虛函數的類都會創建一個一維虛函數表,不同編譯器實現細節可能不同 類中虛函數的地址在虛函數表中按照順序排列 類的虛表指針就指向類的虛函數表,一般情況下,虛表指針存放在類實例的頭部 類的虛函數

原创 cmake+mingw構建java工程

這裏使用最簡單的HelloWorld工程來介紹怎麼使用cmake和mingw來創建JAVA工程 PRECONDITION JDK已經配置好 cmake已經安裝 mingw已經安裝 工程文件結構 HelloWorld |–buil

原创 中國象棋將帥問題

在《編程之美》中,作者給出了三種解法,我的解法與那三種解法相比沒有性能優點,唯一的優點在於利用了十六進制的特殊性,使結果打印不需要進行轉換,可以直接對應棋盤上的位置。 /* * 棋盤參見《編程之美》1.2節,將帥和將的所有可能出現的

原创 區間重合判斷問題

區間重合判斷問題 問題描述:給定一個區間[x,y]和N個無序的目標區間[x1,y1][x2,y2]…[xn,yn],判斷源區間[x,y]是不是在目標區間內(即判斷[x,y]屬於目標區間的並集是否成立)。詳細題目:《編程之美》章節2.1

原创 判斷一棵二叉樹是否是另一棵二叉樹的子樹

輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(空樹不是任意一個樹的子結構) 這道題真是有趣的緊,但是解決方案我覺很多人都能給出。我的解決方案只有一個:通過一種遍歷方法遍歷A、B兩樹,得到其遍歷序列後,檢查B的序列是否是A的子序列 先序

原创 我來幫你計算24點

背景 24點是一個非常有意思的紙牌遊戲,我在大學的時候經常和那幾個關係非常好的朋友同學一起去三三玩24點遊戲,只是那美好的時光一去不復返。遊戲規則是這樣的: 將4張撲克正面放在桌面上,玩家使用簡單的四則運算對四張牌進行計算,使得計算結果

原创 Python學習第13日--2048

這是一個基於dos窗口的2048小遊戲,本來在《python基礎教程》上面有圖形用戶界面的編程介紹,但是因爲我個人的情感原因(圖形界面非編程核心),所以暫時沒有使用圖形界面的打算。 所以,繼續練習python語法! 下面是2048的需

原创 我用Python寫了一個搜索引擎

開玩笑啦,我所謂的搜索引擎就是自己在小範圍內的網頁內進行搜索的一個工具,總共代碼也就兩三百行,自然沒法跟google和百度比啦。主要是長時間沒有使用python寫過代碼了,爲免生疏,就在上班之餘寫了這麼一個小東西。 先來看一下文檔。

原创 Win7 64bits os下安裝MySQL5.7方法

下了一個avast殺軟,安裝完這貨後發現這貨把我的各種驅動刪了個精光,系統廢了,只好重裝系統,以至於好多軟件都要重裝,很麻煩。MySQL是我第二次安裝了,上一次安裝沒有把出現的問題和解決方案記錄下來,以至於這次又依靠百度才搞定,所以這次要

原创 判斷棧的出棧順序是否正確

一般這種題都是出現在選擇題裏面的,而且元素較少,所以即使我們使用野路子(依次把選項代入測試)也不會花費多少時間。但是,我們總不能一直打游擊啊,當遇到敵人主力的時候無能爲力,那就坑了。 所以這裏介紹怎樣轉游擊戰爲陣地戰,從正面硬剛敵人並且