作者roadeat (www)
看板CSSE
标题Re: [问题] Computer Architecture 的几个名词解释
时间Fri Mar 25 23:50:08 2011
※ 引述《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
1F:推 lmr3796:java配置的观念可能不太适用在原PO提的地方吧? 03/26 13:09
2F:→ lmr3796:或者说这种配置东西是跟语言本身有关的 03/26 13:09
3F:→ lmr3796:例如以C来说是不是就没有参考型别变数? 03/26 13:10
4F:→ roadeat:我也是在想好像跟C有点出入XD 03/26 16:17
5F:推 chchwy:把java参考想成c指标就通了 (虽然不完全等价) 03/27 00:37
6F:推 lmr3796:虽说如此,但java中的"参考型别变数"应该不在C里头 03/27 00:53
7F:→ lmr3796:常见的说法是不是比较像function内宣告的local变数会被放 03/27 00:54
8F:→ lmr3796:在stack frame,static和动态配置的部分会在heap? 03/27 00:55
9F:→ roadeat:我记得static的会放在Golbal捏 03/27 15:28
10F:推 chchwy:C语言用malloc来配置一个struct 不就是在heap里吗? 03/27 15:40