Hu Dongwen's blog


  • 首页

  • 归档

  • 标签

c++虚函数实现原理

发表于 2017-04-25 | 分类于 面试基础必备

c++虚函数实现原理

下图中,我们在子类中覆盖了父类的f()函数:
virtual_func1

阅读全文 »

Linux 守护进程

发表于 2017-04-24 | 分类于 面试基础必备

如何实现守护进程

1、在后台运行

为了避免挂起终端退出,在进程中调用fork,然后使父进程退出,变成孤儿进程后在后台运行,此时子进程由init进程收养

1
2
3
if(pid=fork())
exit(0);//是父进程,结束父进程,子进程继续
>

阅读全文 »

C++ 进程内存空间分布

发表于 2017-04-24 | 分类于 面试基础必备

C++ 进程内存空间分布

内存可以分为以下几段:

  • 文本段:包含实际要执行的代码(机器指令)和常量。它通常是共享的,多个实例之间共享文本段。文本段是不可修改的。
  • 初始化数据段:包含程序已经初始化的全局变量,.data。
  • 未初始化数据段:包含程序未初始化的全局变量,.bbs。该段中的变量在执行之前初始化为0或NULL。
  • 栈:由系统管理,由高地址向低地址扩展。
  • 堆:动态内存,由用户管理。通过malloc/alloc/realloc、new/new[]申请空间,通过free、delete/delete[]释放所申请的空间。由低地址想高地址扩展。
    阅读全文 »

Linux 共享内存实现原理

发表于 2017-04-24 | 分类于 面试基础必备

Linux 共享内存实现原理

1、共享内存的实现采用了内存映射技术
2、共享内存主要集中3个内核函数,do_shmat、sys_shmat、sys_shmdt
3、sys_shmat调用do_shmat实现内存共享的attach
4、sys_shmdt实现内存共享的detach和destroy,首先查找相应的vma,如果找到执行ummap操作

阅读全文 »

Linux 虚拟内存机制

发表于 2017-04-21 | 分类于 面试基础必备

Linux 虚拟内存机制

1. 虚拟内存概念

1、每个进程有一个独立的4G内存空间,每个进程内存空间都具有类似的结构
2、每当一个新进程建立时,会建立一个自己的内存空间,将进程的数据,代码从磁盘拷贝到改内存空间,这些信息会记录在task_struct链表中。
3、每个进程对应的空间都和磁盘的空间是映射的。

阅读全文 »

Linux常用命令

发表于 2017-04-20 | 分类于 面试基础必备

Linux 常用命令有哪些?

1. 网络相关和进程活动相关

1
netstat

监控TCP/IP网络非常有用的工具,查看路由表、网络连接和端口状态等信息

1
tcpdump

对网络上的数据包进行截获的包分析工具

阅读全文 »

Markdown 写法

发表于 2017-04-19 | 分类于 随笔

欢迎使用 Cmd Markdown 编辑阅读器


我们理解您需要更便捷更高效的工具记录思想,整理笔记、知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 —— 我们为记录思想和分享知识提供更专业的工具。 您可以使用 Cmd Markdown:

阅读全文 »

Hello World

发表于 2017-04-11 | 分类于 随笔

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

阅读全文 »
12
Hu Dongwen

Hu Dongwen

18 日志
5 分类
2 标签
© 2017 Hu Dongwen
由 Hexo 强力驱动
主题 - NexT.Muse