首页 / 设计模式 / java----设计模式
java----设计模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java----设计模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1861字,纯文字阅读大概需要3分钟。
内容图文
![java----设计模式](/upload/InfoBanner/zyjiaocheng/834/c49b3f8047c3409cb729b24546be9af0.jpg)
单例设计模式:
1、饿汉式
public class Demo { public static void main(String[] args){ Singleton1 singleton1 = Singleton1.getSingleton1(); //通过类调用接口 singleton1.print(); } } class Singleton1{ private Singleton1(){}; //将构造方法私有化,外部不能new对象 private static Singleton1 singlenton1 = new Singleton1(); //使用静态存储方式,只存一个对象,当类被加载时,singleton1对象就被创建,一直放在内存中,直到程序结束; public static Singleton1 getSingleton1(){ //将getSingleton1()方法设置为静态方法,让类可以调用,返回实例 return singlenton1; } public void print(){ System.out.println("测试"); } }
2、懒汉式(优先考虑)
public class Demo { public static void main(String[] args){ Singleton1 singleton1 = Singleton1.getSingleton1(); //通过类调用接口 singleton1.print(); } } class Singleton1{ private Singleton1(){}; //将构造方法私有化,外部不能new对象 private static Singleton1 singleton1; //声明一个静态的实例,只存一次 public static Singleton1 getSingleton1(){ if(singleton1==null){ singleton1 = new Singleton1(); //创建实例,在getSingleton()方法调用时创建,程序结束后释放,多线程存在问题 } return singleton1; } public void print(){ System.out.println("测试"); } }
补充:通过使用构造方法私有化,加静态方法代替单例,例如工具类中的Math
不需要创建对象,静态方法一直加载在内存中,直到程序退出
public class Demo { public static void main(String[] args){ Singleton1.fun1(); //直接通过类调用方法 } } class Singleton1{ private Singleton1(){}; //将构造方法私有化,外部不能new对象 public static void fun1(){ System.out.println("方法一"); } public static void fun2(){ System.out.println("方法二"); } public static void fun3(){ System.out.println("方法三"); } }
单例和使用静态方法代替单例对比
1、使用单例,当执行方法时,如果有定义的变量,方法进栈,执行完毕后,出栈,变量销毁,优点:省内存,缺点:需要反复的调用,耗时
2、静态方法代替单例:优点:调用的时间快,缺点:一直加载内存中,不能被销毁,比较占内存
内容总结
以上是互联网集市为您收集整理的java----设计模式全部内容,希望文章能够帮你解决java----设计模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】