摘要: 文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果取它的值的话需要访问两次内存,第一次取从0x00000002-0x00000003的一个short,第二次取从0x00000004-0x00000... 阅读全文
posted @ 2013-04-08 18:34 zhepama 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 反射包主要有一个接口:type,和一个结构value;type接口commonType类型实现了type接口,下面是type中的各类型关系commonType>unCommonType>methodarrayType|chanType|funcType|interfaceType|mapType|ptrType|sliceType >commonTypeptrMap>n*commonType其他结构Method结构MethodByName()和Method()会返回这种类型type Method struct { Name string PkgPath string T 阅读全文
posted @ 2013-04-08 17:57 zhepama 阅读(3508) 评论(0) 推荐(0) 编辑