最基础问答
来源:互联网 发布:java九阴真经 编辑:程序博客网 时间:2024/05/21 13:58
堆和栈的区别:
1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。
2、堆区(heap)—一般由程序员分配释放,手动释放。
栈
堆
申请方式
系统自动分配
程序员自己申请
申请大小限制
向下生长,连续的内存空间
栈的大小是固定的,申请超过提示overflow
不连续的内存区域(链表)
大小受限于虚拟内存
执行效率
栈自动分配,效率快
手动分配效率慢,容易产生碎片
申请空间命名方式不同
有名分配,用其名字来访问
匿名分配,只能通过指针访问
new和malloc的区别
New/delete
Malloc/free
C++运算符
C/C++标准库函数
自动计算所需要分配的空间大小
手工计算
返回对象指针
返回void指针
能调用构造函数/析构函数
不能(不能申请自定义类对象)
进程和线程
进程
线程
概念
资源分配的基本单位
调度运行的基本单位
程序执行的最小单位,执行处理机调度的基本单位
地址空间
独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种非常昂贵的多任务工作方式
共享进程中的数据,切换线程花费小,创建线程开销小
通信
进程间通信
共享数据,快捷方便,但要处理好同步互斥的关系
阅读全文
0 0
- 最基础问答
- 基础问答
- XHTML基础问答
- XHTML基础问答
- XHTML基础问答
- PSP基础问答篇
- XHTML基础问答
- SMT基础问答集
- 经典SEO基础问答
- DSP 基础问答
- Java基础问答摘录
- DSP 基础问答
- 渗透基础问答
- Java基础问答
- Spring基础问答总结
- 网络基础问答
- C#基础小问答
- 面试基础问答
- leetcode(169). Majority Element
- 奔小康赚大钱
- 序列流(SequenceInputStream)
- Oracle PL/SQL开发基础(第三十四弹:RAISE_APPLICATION_ERROR)
- 指针面试题
- 最基础问答
- Android Home键后Activity延迟启动
- 303. Range Sum Query
- Windows编程--互斥量Mutex操作函数
- Do Tick Volumes Work in Forex?
- javaweb项目,java代码生成的验证码,到服务器上显示不出来的问题!
- banner图失真解决方案
- Idea破解,输入注册码时报 this license BIG3CLIK6F has been cancelled 错误的解决。
- 欢迎使用CSDN-markdown编辑器