黑马程序员:Java基础总结----单例设计模式

黑马程序员:Java基础总结



多重For循环的解决数学问题

  ASP.Net+Android+IO开发 .Net培训 、期待与您交流!



单例设计模式:
1、解决问题:

保证一个类在内存中的对象的唯一性


如软件的配置文件,可以使用单例,保证配置文件只有一份。


2、如何保证对象唯一:

将构造函数私有化,避免外界程序创建对象

类内部创建对象,自身进行实例化,从而调用功能(引用必须为私有静态的。)
为外界能访问此对象,将对象的引用通过公共访问方法暴露给外界(方法必须是静态的,才能被类调用)


3、体现:

饿汉式

class Single{

private Single(){

//..

}

private static Single single = new Single();

public static Single getSingle(){

return single;

}

}

懒汉式:延迟加载

class Sinlge{

private Single{

//.

}

private static Single single = null;

public static Single getSingle(){

if(single == null){

synchronized(Single.class){

if(single == null){

single = new Single();

}

}

}

return single;

}

}

4、应用

java.lang.Runtime
API中说法:每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过getRuntime 方法获取当前运行时。
个人理解:Runtime类封装了应用程序的运行环境,每个java程序都有自己的一个Runtime类的实例,但是我们不能够创建这个Runtime的实例对象,这是java程序启动时,自己就存在的。但是我们可以通过获取这个Runtime对象,从而控制java程序的状态。
比如说,我们可以通过获得Runtime实例对象,启动一个程序(如扫雷):

  1. Runtime run = Runtime.getRuntime();
  2.                 Process pro = null;
  3.                 try {
  4.                         pro = run.exec("winmine.exe");
  5.                 } catch (IOException e) {
  6.                         throw new RuntimeException("程序启动失败");
  7.                 }
  8.                 System.out.println(pro.getClass().getName());
 

ASP.Net+Android+IO开发 .Net培训 、期待与您交流!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值