精華區beta CSSE 關於我們 聯絡資訊
※ 引述《sean72 (.)》之銘言: : 小弟最近有一次面試 : 裡面問了幾個名詞 : 由於我不是資訊工程背景出身 關於Computer Architecture的內容都是自修的 : 底子沒有很紮實 : 不過有幾個問題我不知道該如何找答案 : 另外由於這個面試的職位是韌體工程師 用C寫16位元系統的處理器 : 希望板上的高手能從這方面下手 指點迷津 : 下面有A. B. 兩大題 : ===== : A. : 1. MEMORY SPACE : 2. I/O SPACE : 3. MEMORY HEAP : 4. MEMORY STACK (後文恕刪) 關於 3. MEMORY HEAP 和 4. MEMORY STACK 最近學"JAVA"有學到類似的概念分享給你 (不知道適不適用) 記憶體中 主要分成三塊 如下圖 ┌──────┐ │ Global │ ├───┬──┤ │Stack │Heap│ └───┴──┘ Global 主要是用來存放 "全域變數" Stack 主要是用來存放 "基本型別變數" 或 "參考型別變數的參考值" Heap 主要是用來存放 "參考型別變數的值" 例如 : int a = 8; 這a = 8 都是存在Stack中 而 String b = "Happy"; 這 "Happy" 則是存到Heap中 Stack的部分b所儲存的是 "Happy" 在Heap中的位置(稱參考值) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.6.94
lmr3796:java配置的觀念可能不太適用在原PO提的地方吧? 03/26 13:09
lmr3796:或者說這種配置東西是跟語言本身有關的 03/26 13:09
lmr3796:例如以C來說是不是就沒有參考型別變數? 03/26 13:10
roadeat:我也是在想好像跟C有點出入XD 03/26 16:17
chchwy:把java參考想成c指標就通了 (雖然不完全等價) 03/27 00:37
lmr3796:雖說如此,但java中的"參考型別變數"應該不在C裡頭 03/27 00:53
lmr3796:常見的說法是不是比較像function內宣告的local變數會被放 03/27 00:54
lmr3796:在stack frame,static和動態配置的部分會在heap? 03/27 00:55
roadeat:我記得static的會放在Golbal捏 03/27 15:28
chchwy:C語言用malloc來配置一個struct 不就是在heap裡嗎? 03/27 15:40