Singleton模式的特点:保证一个类仅有一个实例,并提供一个访问它的全局访问点。定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操作(C++中的一个静态成员函数)。和全局变量相比:编译器不保证全局变量的初始化顺序;全局变量不能防止实例化多个对象。一、指针实现方式[...
分类:
其他好文 时间:
2014-10-24 18:29:44
阅读次数:
228
一、类的初始化对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量。类的编译决定了类的初始化过程。编译器生成的class文件主要对定义在源文件中的类进行了如下的更改:1) 先按照静态成员变量的定义顺序在类内部声明成员变量。2) 再按照原java类中对成员变量的初始化顺序进行...
分类:
编程语言 时间:
2014-10-21 17:23:48
阅读次数:
224
Linux系统使用两种方式去加载系统中的模块:动态和静态。静态加载:将所有模块的程序编译到Linux内核中,由do_initcall函数加载核心进程(/init/main.c)kernel_init do_basic_setup() do_initcalls()该函数中会将在__initcall_s...
分类:
其他好文 时间:
2014-10-14 20:58:59
阅读次数:
141
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的。总结:对象的初始化顺序:首先执行父类静态的内容,父类静态的内容执行完毕后,接着去执行子类的静态的内容,当子类的静态内容执行完毕之后,再去看父类有没有非静态代码块,如果有就执行父类的非静态代码块,父类的...
分类:
其他好文 时间:
2014-09-25 22:14:07
阅读次数:
287
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。我们也可以通过下面的测试代码来验证这一点:public class InitialOrderTest {// 静态变量public static String stati...
分类:
编程语言 时间:
2014-09-18 18:32:04
阅读次数:
230
1 package com.zhangcy.test.init; 2 3 public class Base { 4 5 int str; 6 static int val1=1; 7 final int val2=2; 8 static final i...
分类:
编程语言 时间:
2014-09-17 20:11:42
阅读次数:
247
有父类1. 父类static成员变量2. 父类static块3. 父类非static成员4. 父类非static块5. 父类构造方法子类,也按照1-5顺序执行无父类1. static成员变量2. static块3. 非static成员4. 非static块5. 构造方法总结:先父再子先静后动先sta...
分类:
编程语言 时间:
2014-09-14 12:47:37
阅读次数:
188
http://blog.chinaunix.net/uid-17019762-id-3152012.html作为一个有强迫症的人,实在是受不了warning 的存在 这个warning是由于初始化顺序引起的,//会出现warning 的代码!classcInit{public:cInit(std::...
分类:
系统相关 时间:
2014-09-05 12:41:41
阅读次数:
207