C++对象模型 有两个概念可以解释C++对象模型: 语言中直接支持面向对象程序设计的部分。对于各种支持的底层实现机制。 单继承(父类含虚函数) 输出:基类指针p在运行时发生动态绑定,fun2调用子类方法,fun1由于没有virtual,仍然调用父类方法 内存模型: 指针的虚表指向子类方法地址 当一个 ...
分类:
编程语言 时间:
2016-08-06 17:26:02
阅读次数:
189
原文地址:http://www.iteye.com/topic/1116696 1 AOP各种的实现 AOP就是面向切面编程,我们可以从几个层面来实现AOP。 在编译器修改源代码,在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码,以下是各种实现机制的比较。 类别 机制 原理 优点 ...
分类:
其他好文 时间:
2016-08-03 14:50:27
阅读次数:
113
在Transactional Replication 中,Tracking changes 的实现机制是记录进度日志,即 history log,distributing data 分为读取和分发,分别是用 LogReader Agent 和 Distribution Agent 来实现。由于Rep ...
分类:
其他好文 时间:
2016-07-30 13:21:19
阅读次数:
159
转:Java动态绑定的内部实现机制 JAVA虚拟机调用一个类方法时,它会基于对象引用的类型(通常在编译时可知)来选择所调用的方法。相反,当虚拟机调用一个实例方法时,它会基于对象实际 的类型(只能在运行时得知)来选择所调用的方法,这就是动态绑定,是多态的一种。动态绑定为解决实际的业务问题提供了很大的灵 ...
分类:
编程语言 时间:
2016-07-23 23:04:50
阅读次数:
358
Linux管道的实现机制在Linux中,管道是一种使用非常频繁的通信机制。从本质上说,管道也是一种文件,但它又和一般的文件有所不同,管道可以克服使用文件进行通信的两个问题,具体表现为:·限制管道的大校实际上,管道是一个固定大小的缓冲区。在Linux中,该缓冲区的大小为1页..
分类:
系统相关 时间:
2016-07-19 11:32:11
阅读次数:
266
【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信号的发送、屏蔽阻塞等,最后给了 ...
分类:
系统相关 时间:
2016-07-15 23:50:25
阅读次数:
314
1、面向对象主要涉及 构造函数、析构函数、虚函数、继承、多态等。 2、对各种支持 的底层实现机制 c语言中,数据 和 处理数据的操作(函数) 是分开来声明,即语言本身并没有支持 “数据和函数”的关联性。 在C++中,通过抽象数据类型(abstract data type, ADT),在类中定义数据和 ...
分类:
编程语言 时间:
2016-07-15 00:31:50
阅读次数:
409
任何一个操作系统都会提供大量的API供程序员使用,μC/OS-Ⅱ也不例外。由于μC/OS-Ⅱ面向的是嵌入式开发,并不要求大而全,所以内核提供的 API也就大多和多任务息息相关。本文通过分析μC/OS-Ⅱ中提供的API来引出μC/OS-Ⅱ中API的设计思路和实现机制。
API全称Application Programming Interface,中文是应用程序编程接口的意思。API是操作系...
面向对象编程有三大特性:封装、继承、多态。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。 继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承,同时继承也为实现多态做了铺垫。那么什么 ...
分类:
编程语言 时间:
2016-07-10 23:03:06
阅读次数:
254
一、阻塞与非阻塞
阻塞与非阻塞是设备访问的两种方式。在写阻塞与非阻塞的驱动程序时,经常用到等待队列。
阻塞调用是指调用结果返回之前,当前线程会被挂起,函数只有在得到结果之后才会返回。
非阻塞指不能立刻得到结果之前,该函数不会阻塞当前进程,而会立刻返回。
函数是否处于阻塞模式和驱动对应函数中的实现机制是直接相关的,但并不是一一对应的,例如我们在应用层设置为阻塞模式,如果驱动中没有...
分类:
系统相关 时间:
2016-07-06 15:04:21
阅读次数:
404