ILove's Dev Home -
休息的时候不要忘记 别人还在奔跑
博客园
::
首页
::
新随笔
::
联系
:: ::
管理
::
18 随笔 :: 5 文章 :: 237 评论 :: 5 Trackbacks
Operating System Principles
虚函数的调用机制
摘要: 前几天在看《.Net框架程序设计》的时候,好像记得书中有提到说每个对象在创建后都会有一个字段保存了一个内存地址,这个内存地址指向对象实际类型的方法表,其中维护了类型每个方法的签名以及他们的入口地址的对应关系。每次调用方法的时候会到这个表中去查找方法入口地址。而根据我之前对于程序的了解,只有虚函数才会需要保存在这个“函数指针表”中,而非虚方法因为在编译时就已经知道了函数入口地址的相对偏移量(因为确切的知道将要调用的是哪个类的哪个方法),所以最终生成的cpu call指令中可以直接得到函数入口地址(模块加载时的基地址加上偏移量就是实际的入口地址)。而虚方法在编译时无法知道具体调用的是哪个方法,所以才会用这个“虚函数指针表”来使系统能够在运行时获得要调用的是哪个方法。
阅读全文
posted @
2008-04-24 01:11
没有昵称 阅读(1856) |
评论 (21)
编辑
PE文件结构 zz
posted @
2008-04-15 01:32
没有昵称 阅读(339) |
评论 (0)
编辑
理解 Thread.Sleep 函数
摘要: 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:
1、假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?
2、某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么?
阅读全文
posted @
2008-04-07 14:45
没有昵称 阅读(2730) |
评论 (59)
编辑
<
2008年9月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
最新评论
我的标签
留言簿
给我留言
查看留言
我参与的团队
开源CLI核心探索团队(0/89)
随笔分类
.Net Framework(12)
(rss)
CSS, Java Script, Html(1)
(rss)
Design Patterns(1)
(rss)
Develop Tools
(rss)
Operating System Principles(3)
(rss)
Remoting, WebService(4)
(rss)
读书笔记(2)
(rss)
随笔档案
2008年6月 (2)
2008年4月 (13)
积分与排名
积分 - 24661
排名 - 1682
最新随笔
1. 《Understand Asp.Net Further》 - 前言
2. 《Understand Asp.Net Further》 - 目录
3. 虚函数的调用机制
4. .Net,你为什么会慢
5. PE文件结构 zz
6. 理解 Thread.Sleep 函数
7. Refactoring to, towards, and away from pattern
8. 在.Net中使用异步(二)
9. A Taste of AOP from Solving Problems with OOP and Design Patterns (Part III) zz
10. A Taste of AOP from Solving Problems with OOP and Design Patterns (Part II) zz
11. A Taste of AOP from Solving Problems with OOP and Design Patterns (Part I) zz
12. 利用消息机制实现.NET AOP(面向方面编程)--通过RealProxy实现 zz
13. javascript小技巧 && JavaScript[对象.属性]集锦 [zz]
14. 关于枚举的种种(zz)
15. 在.Net中使用异步(一)
最新评论
1. re: 理解 Thread.Sleep 函数
HOHO,文笔很好啊,一下就记住了文章的知识点。
--畅想者
阅读排行榜
1. .Net,你为什么会慢(4281)
2. 理解 Thread.Sleep 函数(2730)
3. 在.Net中使用异步(一)(2714)
4. 在.Net中使用异步(二)(2472)
5. 《Understand Asp.Net Further》 - 前言(1935)
6. 虚函数的调用机制(1856)
7. 《Understand Asp.Net Further》 - 目录(1585)
8. Refactoring to, towards, and away from pattern(403)
9. PE文件结构 zz(339)
10. 利用消息机制实现.NET AOP(面向方面编程)--通过RealProxy实现 zz(194)
评论排行榜
1. .Net,你为什么会慢(75)
2. 理解 Thread.Sleep 函数(59)
3. 《Understand Asp.Net Further》 - 目录(23)
4. 《Understand Asp.Net Further》 - 前言(22)
5. 虚函数的调用机制(21)
6. 在.Net中使用异步(一)(18)
7. 在.Net中使用异步(二)(15)
8. 关于枚举的种种(zz)(4)
9. 利用消息机制实现.NET AOP(面向方面编程)--通过RealProxy实现 zz(2)
10. A Taste of AOP from Solving Problems with OOP and Design Patterns (Part I) zz(0)
Powered by:
博客园
Copyright © 没有昵称