1.C++ 虚函数的实现是为class安插一个vptr指向一个数组。数组第一项通常保存type_info。其他项为虚函数地址。或许还存在指向virtual base class的指针。 2.通过变量调用虚函数,不会带来运行期的额外成本。编译期间就确定了函数的地址。 3.在class struct中, ...
分类:
编程语言 时间:
2017-05-19 13:29:24
阅读次数:
159
lombok是一款可以精减java代码、提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之类的代码。代码越少,意味着出bug的可能性越低。 官网地址:https://projectlombok.org/ 首页有一段几分钟 ...
分类:
其他好文 时间:
2017-05-16 18:39:31
阅读次数:
336
原文:http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4.0的新特性。dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译期默认dynamic对 ...
Effective Go(官方文档)笔记 自己主动局部变量提升(编译期完毕?):return &...;内置函数: new/makecopy, appenddeleterange(这是keyword吧?由于后面没有()) array是值对象slice:引用array 2维切片(略) map if s ...
分类:
其他好文 时间:
2017-05-13 11:19:34
阅读次数:
198
1、Java中的泛型是什么,使用泛型有什么好处。 在集合中存储的对象都是Object类的,在使用前进行类型转换是不方便的。 泛型提供了编译期的类型安全,确保把正确类型的对象放入集合中。避免在运行是出现ClassCastException. 2、JAVA中的泛型是如何工作的,什么是类型擦除。 泛型是通 ...
分类:
编程语言 时间:
2017-05-11 14:37:26
阅读次数:
193
书接上回。在展示了App最顶层的代码后,我们去看看各模块怎样编程。 为了能看懂各模块的代码,首先须要铺垫一下Softchip架构的基本概念和设计规范。 1、随意模块不持有其它模块的实例。自然不再显式使用句柄调用不论什么方法。 这意味着模块之间不存在编码期和编译期的耦合。 2、每一个模块在形式上仅仅与 ...
分类:
编程语言 时间:
2017-05-11 14:36:51
阅读次数:
208
运行时数据区包括:虚拟机栈区,堆区,方法区,本地方法栈,程序计数器 虚拟机栈区 :也就是我们常说的栈区,线程私有,存放基本类型,对象的引用和 returnAddress ,在编译期间完成分配。 堆区 , JAVA 堆,也称 GC 堆,所有线程共享,存放对象的实例和数组, JAVA 堆是垃圾收集器管理 ...
分类:
编程语言 时间:
2017-04-29 13:42:26
阅读次数:
157
静态常量 所谓静态常量就是在编译期间会对变量进行解析,再将常量的值替换成初始化的值。动态常量 所谓动态常量就是编译期间会将变量标记只读常量,而不用常量的值代替,这样在声明时可以不初始化,可以延迟到构造函数初始化。 const和readonly 区别 const修饰的常量是上述中的第一种,即静态常量, ...
执行时多态性是面向对象程序设计代码重用的一个最强大机制。Java多态性的概念也能够被说成“一个接口。多个方法”。Java实现执行时多态性的基础是动态方法调度,它是一种在执行时而不是在编译期调用重载方法的机制。 方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写 ...
分类:
编程语言 时间:
2017-04-26 15:45:23
阅读次数:
128
C++中模板的推导是在编译期由编译器完成的,因此,可以利用模板将一些预先知道递归次数的递归算法用模板编程实现,以此实现将计算从运行期提前到编译期。利用模板完成递归算法与通常模式的递归算法一样,需要递归的公式和递归的结束条件。在模板元编程中,递归的公式利用模板参数的嵌套依赖来实现,而递归的结束条件利用 ...
分类:
编程语言 时间:
2017-04-24 10:12:37
阅读次数:
170