1.单例模式:
单例模式的特点:
① 内存中只有一个实例减少内存开支。特别是一个对象需要频繁的创建和销毁,如javame中的Display类、一些文件操作类
② 只有一个实例减少了性能的开销。这需要对java虚拟机的垃圾回收机制有深刻的理解(我的知识还不都哈哈~)
③ 单例模式避免对同一个资源的混乱使用。
使用单例模式的原因:
① 单例模式减少内存开支,因为手机装置的资源很有限,这对于手机程序的开发尤为重要(随着硬件的发展手机性能的升级也是惊 人的,比我们过去使用的电脑还牛叉了)。但是资源不是用来浪费的,单例模式可以让自己的程序性能更好更稳定。
② 单例模式是管理的需要,就像javame中的display类,从面向对象语言的角度来看,如果一个程序有多个界面管理的类,势必会 造成很多麻烦。通过单例模式提供了一个单一的全局的管理工具,在各个地方使用管理界面。
使用单例模式的地方(我目前看到的javame学习中):
① 用户界面管理类(Display类)
② 记录存储系统(RecordStore类)
单例模式的一般格式:(把构造方法设置为私有,通过专门的外部方法来获取对象)
public class Manager { private static final Leader leader=new Leader(); private Manager(){ } public static Leader getLeader(){ return leader; } }
以下两个类是用来测试返回的manager实例是同一个实例的
public class Leader { private static int flag=0; public Leader(){ flag++; } public void print(){ System.out.println(flag); } }
public class MainClass { /** * @param args */ public static void main(String[] args) { for(int i=1 ;i<10;i++){ Manager.getLeader().print(); } } }
初学者,望大家多多指教。