当前位置: 首页 > news >正文

授权购买网站网站开发方法

授权购买网站,网站开发方法,南京网站开发就业培训课程,域名会跳转怎么进原网站整理一下设计模式的个人理解。描述单例模式是java中比较常见的一种设计模式#xff0c;顾名思义为一个类只能创建一个实例#xff0c;多用于全局对象#xff0c;如#xff1a;配置的加载#xff0c;spring bean加载各种配置(spring容器所有bean默认都是单例)单例的特点为构…整理一下设计模式的个人理解。描述单例模式是java中比较常见的一种设计模式顾名思义为一个类只能创建一个实例多用于全局对象如配置的加载spring bean加载各种配置(spring容器所有bean默认都是单例)单例的特点为构造方法私有因此必须内部进行实例化并提供静态访问方法为其他对象提供该实例。即1、单例只能有一个实例2、单例构造方法私有3、单例必须自己创建唯一实例并提供其他对象访问该实例的静态方法优缺点优点由于单例模式只生成了一个实例所以能够节约系统资源减少性能开销提高系统效率同时也能够严格控制客户对它的访问。缺点因为系统中只有一个实例这样就导致了单例类的职责过重违背了“单一职责原则”没有接口不能继承不方便扩展。实现1 懒汉式-线程不安全public classSingleton1 {private staticSingleton1 instance;/*** 构造方法私有*/privateSingleton1() {}/*** 提供静态访问实例方法* 懒加载其他地方用到该实例时调用该方法/创建实例多线程时可能会创建多个实例线程不安全**return*/public staticSingleton1 getInstance() {if (instance null) {instance newSingleton1();}returninstance;}}上述单例在多线程下会存在线程安全问题比较直观的解决方案是直接在方法上加同步锁以保证只会创建一个实例2 懒汉式-线程安全(增加同步锁多线程排队等待会影响效率)public classSingleton2 {private staticSingleton2 instance;/*** 构造方法私有*/privateSingleton2() {}/*** 提供静态访问实例方法* 懒加载其他地方用到该实例时调用该方法/创建实例增加同步锁保证线程安全**return*/public static synchronizedSingleton2 getInstance() {if (instance null) {instance newSingleton2();}returninstance;}}3 饿汉式(类加载时创建线程安全)类加载时即创建实例后续直接获取该实例好处为永远保持唯一线程安全坏处为即使该实例永远也用不到也会创建浪费内存资源。备注考虑到规范正常如果是永远不用的实例就应该删除所以一般也比较推荐使用饿汉式创建单例public classSingleton3 {//直接实例化private static Singleton3 instance newSingleton3();privateSingleton3() {}/*** 直接返回已实例化的实例**return*/public staticSingleton3 getInstance() {returninstance;}}4 双重校验锁instance声明为volatile线程可见以防止重排序造成线程不安全(重排序参考https://blog.csdn.net/ym123456677/article/details/79700623)public classSingleton4 {//volatile 全局线程可见private volatile staticSingleton4 instance;privateSingleton4() {}/*** 获取实例 -- 双重校验先判断实例是否存在不存在对类增加同步锁保证只创建一次**return*/public staticSingleton4 getInstance() {if (instance null) {synchronized (Singleton4.class) {if (instance null) {instance newSingleton4();}}}returninstance;}}5 静态内部类(明确指定要实现懒加载时使用)public classSingleton5 {private static classinner {//声明为final 不可变private static final Singleton5 INSTANCE newSingleton5();}privateSingleton5() {}/*** 获取实例 -- (懒加载)第一个线程进来时就创建实例并赋值给final常量INSTANCE后续任何线程调用该方法直接获取INSTANCE**return*/public staticSingleton5 getInstance() {returninner.INSTANCE;}}6 枚举枚举为单例的最佳实践public enumSingleton6 {RED,GREEN,BLACK}考虑到实际应用单例一般情况下使用饿汉式明确要求实现懒加载时使用静态内部类不过在实际应用中单独使用的单例都不多了配置一般都是通过spring bean的方式配置config枚举使用较多对于确定的类型、状态等直接使用枚举。
http://www.yutouwan.com/news/192729/

相关文章:

  • 网站建设题目以及答案wordpress定时发布文章0点
  • 电厂建设审批进度网站五屏网站建设怎样
  • 网站如何吸引单县网页设计
  • 扫二维码直接进网站怎么做怎样自学开网店
  • 电影手机网站建设乡镇网站建设内容规划
  • 图片网站该如何做seo优化软件开发的周期分几个阶段
  • 山东建设执业资格注册中心网站官网赤峰网站开发公司
  • 萧山中兴建设有限公司网站中国营销网站
  • 网站虚拟机可以自己做吗哪个网站上做ppt比较好看的
  • 分局网站建设html5网站开发工具
  • 云南省建设工作网站做外文网站
  • 建网站哪便宜湘潭市网站建设
  • 12306网站开发enjooy wordpress英文主题
  • 建湖专业做网站的公司网络营销的现状
  • 建设一个网站主要受哪些因素的影响因素邯郸信息港最新招聘信息
  • 济南高新网站建设服装网站建设案例分析
  • 建网站服务建设网站的意义作用是什么
  • 浙江注册公司网站access是不是常用的网页制作工具
  • 网站开发设计公司简介个人博客网站源码
  • 网站招商页面怎么做福田庆三整过的明星
  • 商务网站建设课程设计如何站自己做网站
  • 网站建站授权模板下载艺术字体转换器在线转换器
  • 权威网站发布平台阿里巴巴电脑版网页
  • 网站开发和嵌入式开发wordpress快速仿站
  • 网站建设公司报价贵阳企业免费建站
  • 网站页面设计主要包括网络服务合同范本
  • 广州市网站建设哪里有网站跟app区别
  • 网站图片轮播怎么做的优秀的界面设计作品及评析
  • 做IPv6网站升级的公司有哪些wordpress网站打包app
  • 怎么看别人网站是怎么做的免费自助建站系统平台 贴吧