摘要:前言在說架構之前,先說說框架吧。在架構中就是這個轉接頭。當一個新框架誕生后,關注點從學習這個框架,慢慢變成了這個框架是如何設計的,解決什么樣的問題。前幾年使用過各種框架,小到,大到。 前言 在說 MVC 架構之前,先說說PHP框架吧。很多很多學完PHP語言的人,面對的就是PHP各種各樣的框架。什么TP啊、Yii啊、CI啊,還有很流行的laravel啊等等。 他們的大部分都會說自己是基于...
摘要:依賴注入通過構造注入,函數調用或者屬性的設置來提供組件的依賴關系。這段代碼可以用依賴注入重構,從而解耦現在我們通過外界給予類的依賴,而不是讓它自己產生依賴的對象。根據依賴注入的概念,我們的框架實現了這些特性。 如何提高自己編寫代碼的能力呢?我們首先想到的是閱讀學習優秀的開源項目,然后寫一個自己的web框架或類庫組件。作為web開發者,我們通常都是基于面向對象OOP來開發的,所以面向對象...
摘要:分頁管理先說說虛擬內存的概念。每個存在的虛擬頁面都保存在某個區域中,不屬于任何一個區域的虛擬頁是不存在的,不能被進程使用內核為系統中的每個進程維護一個單獨的任務結構,任務中的一個字段指向,他描述了虛擬內存的當前狀態。 作者: 順風車運營研發團隊 李樂 第一章 從操作系統內存管理說起 程序是代碼和數據的集合,進程是運行著的程序;操作系統需要為進程分配內存;進程運行完畢需要釋放內存;內存管...
摘要:作者李德內存分配計算在源碼中,有一段對內存規格的計算,具體在的函數中,其目的是傳入一個,計算對應的規格。見代碼可以看出,這段代碼中分為兩種情況進行討論小于等于的情況大于的情況下面我們對這兩種情況詳細分析下。 作者:李德 small內存分配計算bin_num 在PHP源碼中,有一段對small內存規格的計算,具體在Zend/zend_alloc.c的zend_mm_small_size_...
摘要:詳解進程在中的作用,組成,什么是父子進程系統是一個多進程的系統,它的進程之間具有并行性互不干擾等特點。中的進程包含個段,分別為數據段代碼段和堆棧段。 1.什么是進程? 進程的經典定義是一個執行中程序的實例,同時也是資源分配的最小單元。系統中的每個程序都運行在某個進程中的上下文中,上下文是由程序正確運行所需的狀態組成的。這個狀態包括存放在內存中的程序的代碼和數據,它的棧、通用目的寄存器的...