程序運行時,它的每部分內容都要先加載到內存中再被使用。
## **內存結構**
邏輯上內存大體被分為4段
1. 棧(stack)空間
特點:
* 棧空間小,CPU訪問速度快。用于存放程序中臨時創建的變量,存儲占用空間長度不變且占用空間小的數據類型(integer,double,Boolean等)。
* 后進先出。適用push,pop進行操作。用于保存和恢復調用現場(上下文),可看作一個臨時的數據寄存、交換的區域。
* 棧內存中的數據是可以直接存取的(CPU直接讀寫)?
2. 堆(heap)空間
大小不固定,可動態擴張或縮減。用于存放進程運行中被動態分配的內存段。用于存儲數據長度可變或占用內存比較大的數據(字符串,數組,對象)。
3. 數據(data)段
用來存放可執行文件文件中已初始化的全局變量,就是存放程序靜態分配的變量。
4. 代碼(code)段
用于存放可執行文件的操作指令,是可執行程序在內存中的鏡像(拷貝)。
代碼段需要防止在運行時被非法修改(寫操作),只允許讀操作。一般存儲程序中的函數。
- 軟件工程
- 1. 基礎
- 計算
- 網絡
- 存儲
- 2. 開發/運維
- 微服務
- 容器化(Docker)
- 容器網絡
- 持續集成
- 持續發布
- 3. 架構
- 操作系統
- Linux服務器
- windows
- 內存
- 應用軟件
- 前端
- 后端
- 數據庫
- 協議
- 服務
- 分布式
- LNMP+Vue.js
- web網站架構技術
- 架構演化
- 架構分層
- Layer1. Frontend
- Layer2. Application
- Layer3. Service
- Layer4. Storage
- Layer5. Backend
- Layer6. Operation
- Layer7. Security
- Layer8. DataCenter
- 架構模式
- 架構要素
- 1. Performance
- 2. Availability
- 3. 可伸縮性
- 4. 可擴展性
- 5. 安全
- 6. 成本
- 4. 開發項目
- vue-php