C语言中如何使用宏C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。 关于#和## 在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量 通过替换后 ...
分类:
编程语言 时间:
2016-11-04 16:59:48
阅读次数:
195
运行期间有且仅有一个实例。(比较耗系统性能的时候用单例模式) 关键点:1,一个类只有一个实例,只提供私有的构造器2,它必须自行创建这个实例,定义了静态的该类的私有对象3,它必须自行向整个系统提供这个实例,提供了一个静态的public方法 (返回创建或获取本身的静态私有对象) 懒汉模式:(1,加同步锁 ...
分类:
其他好文 时间:
2016-11-02 23:37:07
阅读次数:
162
1、KVO是基于Runtime机制实现的; 2、当某个类的对象的某个属性第一次被观察时,系统会在运行期间动态地创建该类的一个派生类,在这个派生类中重写基类的任何被观察属性的setter方法,派生类在被重写的setter方法内实现真正的通知机制; 3、如果原类为Person,那么生成的派生类名为NSK ...
分类:
其他好文 时间:
2016-11-01 23:47:35
阅读次数:
229
反射主要用于在程序运行期间动态解析相关类的类名,命名空间,属性,方法并进行相应操作,以下通过两个简单的例子进行了说明: 示例1:调用程序集内部方法,运行时动态获取相关类的信息,包括类名,命名空间等信息并进行对象的创建及方法的调用: 测试类: class HI { public string Hi = ...
分类:
其他好文 时间:
2016-10-31 21:56:41
阅读次数:
199
控制反转和依赖注入讲的都是一个概念,只不过是站在了不同的角度,所谓的依赖注入: 是指在运行期,由外部容器动态地将依赖对象注入到组件中。当spring容器启动后,spring容器初始化,创建并管理bean对象,以及销毁它。所以我们只需从容器直接获取Bean对象就行,而不用编写一句代码来创建bean对象 ...
分类:
其他好文 时间:
2016-10-30 16:50:26
阅读次数:
158
1:什么是aop? Aspect Oriented Programming 面向切面编程 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点, ...
分类:
编程语言 时间:
2016-10-29 19:16:24
阅读次数:
246
AOP简介: 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可 ...
分类:
编程语言 时间:
2016-10-29 19:08:55
阅读次数:
330
Spring中的JDK动态代理 在JDK1.3以后提供了动态代理的技术,允许开发者在运行期创建接口的代理实例。在Sun刚推出动态代理时,还很难想象它有多大的实际用途,现在动态代理是实现AOP的绝好底层技术。 JDK的动态代理主要涉及Java.lang.reflect包中的两个类:Proxy和Invo ...
分类:
编程语言 时间:
2016-10-26 13:11:59
阅读次数:
251
我们都知道,JavaScript是类型松散型语言,在声明一个变量时,我们是无法明确声明其类型的,变量的类型是根据其实际值来决定的,而且在运行期间,我们可以随时改变这个变量的值和类型,另外,变量在运行期间参与运算时,在不同的运算环境中,也会进行相应的自动类型转换。 自动类型转换一般是根运行环境和操作符 ...
分类:
编程语言 时间:
2016-10-25 09:31:57
阅读次数:
215
0. static修饰变量和函数 static修饰变量,1)限定作用域,本文件内。全局变量(自定义起,本文件前面要用需extern声明),局部变量函数内;2)生命周期,程序运行期间一直保存。 static修饰函数,限定作用域,本文件内。1. enum类型变量大小为4(sizeof),不论enum成员 ...
分类:
编程语言 时间:
2016-10-23 15:09:38
阅读次数:
219