JAVA设计模式一:---Singleton(单例模式)

Java单例模式详解及应用
本文详细介绍了Java单例模式的实现方式、特点、应用领域以及使用注意事项,包括多种线程安全的单例获取方法,如饿汉式、懒汉式等,以及单例模式在实际场景中的具体应用案例,如打印机管理、数据库主键分配等。
[java]  view plain copy print ?
  1. package design.singleton;  
  2.   
  3. /** 
  4.  * 文件名称:design.singleton.Singleton.java 
  5.  * 创建人:Fei Wong 
  6.  * 创建时间: 2012-06-20 
  7.  * 电子邮箱:feiwong8@126.com 
  8.  * 一、JAVA单例模式介绍:分别介绍了,几种不同的单例 
  9.  *            模式的实现方式,Singleton 是一种创建型模式, 
  10.  *            指某个类采用 Singleton 模式,则在这个类被创 建后, 
  11.  *            只可能产生一个实例供外部访问,并且提供一个全局的访问点。 
  12.  *            全局对象和 Singleton 模式有本质的区别,因为大量使用全局对象会使得程 
  13.  *            序质量降低,而且有些编程语言根本不支持全局变量。最重要的 
  14.  *            是传统的全局对 象并不能阻止一个类被实例化多次。 
  15.  * 二、单例模式的特点单例模式的: 
  16.  *            单例类只能有一个实例 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 
  17.  * 三、单例模式的应用 
  18.  *              每台计算机可以由若干个打印机,但只能有一个 Printer Spooler,避免有两个  
  19.  *              作业同时输出到打印机。 一个具有自动编号主键的表可以有多个用户同时使用, 
  20.  *              但数据库中只能有一个地方分配下一个主键。否则会出现主键重复。 
  21.  * 四、单例模式使用的注意 单例模式使用的注意 模式使用的 
  22.  *      不要使用单例模式存取全局变量。这违背了单列模式的用意,最好放到对应类的静态成员中。 不要将数据库连接做成单例, 
  23.  *      因为一个系统可能与数据库有多个连接,并且在有连接池的情况下, 
  24.  *      应当尽可能及时释放连接。Singleton 模式由于使用静态成员存储类实例,所以可能会造成资源无法及时释放。 
  25.  * */  
  26. public class Singleton {  
  27.       
  28.     private static Singleton singleton ;   
  29.     /** 
  30.      * 饱汉方式的单例模式 但是有多个线程访问时就不是安全的 返回的不是同一个对象 
  31.      * */  
  32.     public static Singleton getInstance1(){  
  33.         singleton = singleton == null ? new Singleton() : singleton ;  
  34.         return singleton ;  
  35.     }  
  36.     /** 
  37.      * 此种方法 线程安全,但是效率非常低在一个时候只有一个线程能访问个对象 
  38.      * */  
  39.     public synchronized Singleton getInstance2(){  
  40.         singleton = singleton == null ? new Singleton() : singleton ;  
  41.         return singleton ;  
  42.     }  
  43.     /** 
  44.      * 线程安全,线程安全 并且效率高 能有多个线程访问 
  45.      * */  
  46.     public  Singleton getInstance3(){  
  47.         synchronized(Singleton.class){  
  48.             singleton = singleton == null ? new Singleton() : singleton ;  
  49.         }  
  50.         return singleton ;   
  51.     }  
  52. }  
  53. 转载处:http://blog.youkuaiyun.com/hfmbook/article/details/7679707
内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟超MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能和辐射特性。该方法通过建立三维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场与微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模与仿真技巧,拓展在射频与无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程和边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸和材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理与工程应用方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值