0 . 没有抽象变量、抽象成员变量、抽象构造器等说法 ; 1 . abstract和final永远不能同时使用 ; 2 . abstract和static不能同时修饰方法,因为调用此方法时,相当与类调用了一个没有方法体的方法。但可以同时修饰内部类 ; 3 . abstract不能与private同时 ...
分类:
其他好文 时间:
2019-07-28 14:16:11
阅读次数:
112
1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:控制资源的使用,通过线程同步来控制资源的并发访问;控制实例的产生,以达到节约资源的目的;控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2.尽量避免随意使用静态变量要知道,当某个对象被定义为static变量所引用,
分类:
编程语言 时间:
2019-07-15 22:43:35
阅读次数:
143
饿汉式实现(单例对象立即加载) ? 饿汉式单例模式代码中,static变量会在类装载时初始化,此时也不会涉及多个线程对象访问该对象的问题。虚拟机保证只会装载一次该类,肯定不会发生并发访问的问题。因此,可以省略synchronized关键字。? 问题:如果只是加载本类,而不是要调用getInstanc ...
分类:
其他好文 时间:
2019-07-10 01:29:17
阅读次数:
175
1、被申明的函数或值无法被其他源文件使用 2.static的第二个作用是保持变量内容的持久。(static变量中的记忆功能和全局生存期) 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,s ...
分类:
编程语言 时间:
2019-07-06 19:13:56
阅读次数:
127
静态变量 static变量也称作静态变量,静态变量和非静态变量的区别是: 静态变量:静态变量被类中所有的对象所共享,它将变量值存储在一个公共的内存地址,因为地址公共,所以如果某个对象修改了静态变量的值,那么同一个类的所有对象都会受到影响。 非静态变量:非静态变量是对象所拥有的,在创建对象的时候被初始 ...
分类:
编程语言 时间:
2019-07-05 16:41:12
阅读次数:
116
JVM 的内存划分 JVM 将内存主要划分为:方法区、栈、本地方法栈、堆、程序计数器。 方法区存:又叫静态区,存放所有的class和static变量;方法区中包含的都是在程序中永远的唯一的元素。 虚拟机栈:执行引擎每调用一个函数时,就为这个函数创建一个栈帧,并加入虚拟机栈。换个角度理解,每个函数从调 ...
分类:
其他好文 时间:
2019-07-01 18:38:07
阅读次数:
127
php为单进程的,由apache代执行,每一个请求,由apache从进程池中取出进程,初始化数据结构,创建进程. 变量共享,类似于session的内容,为所有进程所共享,即单例模式.默认是采用磁盘文件实现session的管理 即static变量,是一次请求说单独的享有的,不能被所有请求所共享. se ...
分类:
Web程序 时间:
2019-05-22 22:30:00
阅读次数:
163
/单例模式:C1getInstance和m_instance必是static变量,C2m_instance必被明确的初始化。C3构造函数与拷贝构造函数,析构函数全是private,可以只声明。C4需要有明确的Destory函数C5需要在线程安全。///Singleton.h#include<iostream>#include<string.h>#include<std
分类:
编程语言 时间:
2019-05-22 12:48:47
阅读次数:
156
栈存放:会为每个方法(包括构造函数)开辟一个栈指针,方法执行完毕后,会自动退出,并释放空间 局部变量 先进后出 自下而上存储 方法执行完毕 自动释放空间 堆: 存放new出来的对象 需要垃圾回收器来回收 方法区:其实也是在堆中的 存放类的信息(代码)、 static变量、字符串常量等 ...
分类:
编程语言 时间:
2019-04-28 12:59:48
阅读次数:
132
一. 案例 1.源码: /** @hide */ private TelephonyManager(int slotId) { mContext = null; mSlotId = slotId; if (sRegistry == null) { if (sRegistry == null) { s ...