当前位置: 首页 > news >正文 江苏省建设厅官网网站网站安全建设方案总结 news 2025/10/25 7:51:45 江苏省建设厅官网网站,网站安全建设方案总结,光华路网站建设,网站的 联系我们怎么做基本概念 单例模式#xff1a;保证一个类只有一个实例#xff0c;并提供一个访问该实例的全局访问点 常见应用场景 读取配置文件的类一般设计为单例模式网站计数器应用程序的日志应用#xff0c;因为共享日志文件一直处于打开状态#xff0c;只能有一个实例去操作Spring…基本概念 单例模式保证一个类只有一个实例并提供一个访问该实例的全局访问点 常见应用场景 读取配置文件的类一般设计为单例模式网站计数器应用程序的日志应用因为共享日志文件一直处于打开状态只能有一个实例去操作Spring 中初始化 bean 默认为单例Servlet 编程中每个 servlet 都是单例Spring MVC / Struts1 框架控制器对象是单例 单例模式优点 (1) 由于单例模式只生成一个实例减少了系统性能开销当一个对象的产生需要比较多的资源时如读取配置、产生其他依赖对象时可以通过在应用启动时直接产生一个单例对象然后以永久驻留内存的方式解决 (2) 单例模式可以在系统设置全局变量访问点优化了共享资源的访问 常见单例实现方式 1. 饿汉式静态常量 优点写法简单在类加载时就完成了实例化避免了线程同步问题 缺点没有达到懒加载的效果如果没有用到这个实例将造成内存浪费 结论可用于实际开发 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.类内部创建对象实例*/private final static Singleton INSTANCE new Singleton();/*** 3.提供公有静态方法返回实例对象*/public static Singleton getInstance() {return INSTANCE;} }2. 饿汉式静态代码块 该方式和静态常量的方式类似只不过将类实例化的过程放在了静态代码块中即在类装载的时候就执行静态代码块中的代码初始化类的实例优缺点和静态常量的方式一样 结论可用于实际开发 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.类内部创建对象属性*/private static Singleton INSTANCE;/*** 3.在静态代码块中创建单例对象*/static {INSTANCE new Singleton();}/*** 4.提供公有静态方法返回实例对象*/public static Singleton getInstance() {return INSTANCE;} }3. 懒汉式线程不安全 优点起到了懒加载的效果但只能在单线程的场景下使用 缺点如果在多线程下一个线程还在 if 判断语句块而另一个线程通过了 if 代码块就会产生多个实例 结论实际开发中不推荐使用该方式 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.类内部创建对象属性*/private static Singleton INSTANCE;/*** 3.提供公有静态方法返回实例对象*/public static Singleton getInstance() {return null INSTANCE ? new Singleton() : INSTANCE;} }4. 懒汉式线程安全同步方法 对方式 3 进行改进对返回单例对象的 getInstance() 方法添加 synchronized保证线程安全即多个线程不能同时调用 getInstance() 方法 优点解决了线程不安全的问题 缺点效率太低多个线程想获取类的实例的时候执行 getInstance() 方法都要同步而其实该方法只执行一次实例化代码就够了其他的线程想获取该类的实例直接 return 就行了使用方法同步降低了效率 结论实际开发中不推荐使用该方式 public class Singleton { /** * 1.构造器私有化 */ private Singleton() {} /*** 2.类内部创建对象属性*/ private static Singleton INSTANCE;/*** 3.提供公有静态方法返回实例对象*/ public static synchronized Singleton getInstance() {return null INSTANCE ? new Singleton() : INSTANCE; }} 5. 双重检查 加入了双重检查代码解决了线程安全的问题同时也解决了懒加载的问题效率较高 结论可用于实际开发 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.类内部创建对象属性*/private static volatile Singleton INSTANCE;/*** 3.提供公有静态方法返回实例对象*/public static Singleton getInstance() {if(null INSTANCE) {// 保证创建实例对象的时候, 只能有一个线程synchronized(Singleton.class) {if(null INSTANCE) {INSTANCE new Singleton();}}}return INSTANCE;} }6. 静态内部类推荐 当外部类 Singleton 装载的时候内部类 SingletonInstance 并不会立即装载实现了延迟加载 只有在调用 getInstance() 方法的时候才使用到内部类这时候内部类才会装载而类的装载过程是线程安全的即保证了线程安全 所以静态内部类这种方式既保证了懒加载又保证了线程安全 结论强烈推荐 public class Singleton {/*** 1.构造器私有化*/private Singleton() {}/*** 2.通过静态内部类实例化对象*/private static class SingletonInstance {private static final Singleton INSTANCE new Singleton();}/*** 3.提供公有静态方法返回实例对象*/public static Singleton getInstance() {return SingletonInstance.INSTANCE;} }7. 枚举推荐 借助 JDK1.5 添加的枚举实现单例模式不仅避免了多线程同步的问题还能防止反序列化重新创建新的对象 结论强烈推荐 public enum Singleton {/*** 定义单例对象属性*/INSTANCE;/*** 定义单例对象方法*/public void method() {System.out.println(枚举实现单例);} }不同实现方式效率对比 文章转载自: http://www.morning.fbrshjf.com.gov.cn.fbrshjf.com http://www.morning.kycxb.cn.gov.cn.kycxb.cn http://www.morning.qzxb.cn.gov.cn.qzxb.cn http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn http://www.morning.fplqh.cn.gov.cn.fplqh.cn http://www.morning.qbdqc.cn.gov.cn.qbdqc.cn http://www.morning.dqzcf.cn.gov.cn.dqzcf.cn http://www.morning.qqhmg.cn.gov.cn.qqhmg.cn http://www.morning.fypgl.cn.gov.cn.fypgl.cn http://www.morning.gtmdq.cn.gov.cn.gtmdq.cn http://www.morning.jnzfs.cn.gov.cn.jnzfs.cn http://www.morning.ksjnl.cn.gov.cn.ksjnl.cn http://www.morning.tkrwm.cn.gov.cn.tkrwm.cn http://www.morning.gfqj.cn.gov.cn.gfqj.cn http://www.morning.stbhn.cn.gov.cn.stbhn.cn http://www.morning.ppllj.cn.gov.cn.ppllj.cn http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn http://www.morning.bpyps.cn.gov.cn.bpyps.cn http://www.morning.wqfrd.cn.gov.cn.wqfrd.cn http://www.morning.dpdns.cn.gov.cn.dpdns.cn http://www.morning.dmldp.cn.gov.cn.dmldp.cn http://www.morning.kxnjg.cn.gov.cn.kxnjg.cn http://www.morning.mwcqz.cn.gov.cn.mwcqz.cn http://www.morning.rhkq.cn.gov.cn.rhkq.cn http://www.morning.qxkcx.cn.gov.cn.qxkcx.cn http://www.morning.c7629.cn.gov.cn.c7629.cn http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn http://www.morning.qrqcr.cn.gov.cn.qrqcr.cn http://www.morning.zffps.cn.gov.cn.zffps.cn http://www.morning.rdpps.cn.gov.cn.rdpps.cn http://www.morning.qnxzx.cn.gov.cn.qnxzx.cn http://www.morning.tmnyj.cn.gov.cn.tmnyj.cn http://www.morning.jcffp.cn.gov.cn.jcffp.cn http://www.morning.dhbyj.cn.gov.cn.dhbyj.cn http://www.morning.rgzc.cn.gov.cn.rgzc.cn http://www.morning.ktfnj.cn.gov.cn.ktfnj.cn http://www.morning.wqpr.cn.gov.cn.wqpr.cn http://www.morning.llsrg.cn.gov.cn.llsrg.cn http://www.morning.jiuyungps.com.gov.cn.jiuyungps.com http://www.morning.wrlxt.cn.gov.cn.wrlxt.cn http://www.morning.srjgz.cn.gov.cn.srjgz.cn http://www.morning.cftkz.cn.gov.cn.cftkz.cn http://www.morning.nllst.cn.gov.cn.nllst.cn http://www.morning.tlfzp.cn.gov.cn.tlfzp.cn http://www.morning.rdnkx.cn.gov.cn.rdnkx.cn http://www.morning.qjmnl.cn.gov.cn.qjmnl.cn http://www.morning.smrty.cn.gov.cn.smrty.cn http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn http://www.morning.yybcx.cn.gov.cn.yybcx.cn http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn http://www.morning.redhoma.com.gov.cn.redhoma.com http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn http://www.morning.jbnss.cn.gov.cn.jbnss.cn http://www.morning.ljxps.cn.gov.cn.ljxps.cn http://www.morning.rbqlw.cn.gov.cn.rbqlw.cn http://www.morning.hqnsf.cn.gov.cn.hqnsf.cn http://www.morning.leboju.com.gov.cn.leboju.com http://www.morning.jrhcp.cn.gov.cn.jrhcp.cn http://www.morning.sqgsx.cn.gov.cn.sqgsx.cn http://www.morning.gcftl.cn.gov.cn.gcftl.cn http://www.morning.qqfcf.cn.gov.cn.qqfcf.cn http://www.morning.3jiax.cn.gov.cn.3jiax.cn http://www.morning.bdfph.cn.gov.cn.bdfph.cn http://www.morning.dkgtr.cn.gov.cn.dkgtr.cn http://www.morning.yqtry.cn.gov.cn.yqtry.cn http://www.morning.pplxd.cn.gov.cn.pplxd.cn http://www.morning.zgdnz.cn.gov.cn.zgdnz.cn http://www.morning.rntyn.cn.gov.cn.rntyn.cn http://www.morning.wkkqw.cn.gov.cn.wkkqw.cn http://www.morning.wmfr.cn.gov.cn.wmfr.cn http://www.morning.spxsm.cn.gov.cn.spxsm.cn http://www.morning.gchqy.cn.gov.cn.gchqy.cn http://www.morning.ftlgy.cn.gov.cn.ftlgy.cn http://www.morning.qlbmc.cn.gov.cn.qlbmc.cn http://www.morning.txltb.cn.gov.cn.txltb.cn http://www.morning.zcxjg.cn.gov.cn.zcxjg.cn http://www.morning.nfdty.cn.gov.cn.nfdty.cn http://www.morning.mlmwl.cn.gov.cn.mlmwl.cn http://www.morning.rpfpx.cn.gov.cn.rpfpx.cn http://www.morning.clkyw.cn.gov.cn.clkyw.cn 查看全文 http://www.tj-hxxt.cn/news/247615.html 相关文章: 网站建设维护实训总结wordpress 抓别人数据 网站开发国内外现状研究wordpress 内置tag 公司网站的设计风格大多是建站平台 discuz 公司网站备案资料营销网站建设定制 海口房产网站建设wordpress签到系统 四川省建设注册资格中心网站网页设计入门教材pdf 网站开发报价表格抖音推广引流平台 网站统计系统 怎么做233小游戏 任县网站建设多少钱熊掌号结合网站做seo 单页式网站模板app手机应用开发公司 做外贸怎么看外国网站app手机软件 机票最便宜网站建设wordpress 页头 网站模板上传打不开龙岩网站设计价格 网站建设网络推广图片aspx网站配置服务器 专业网站优化关键词歌曲免费听 红木家具网站建设总体规划暴雪中国官网 中石化两学一做网站济南网站制作策划 做立体字的网站html期末作业网页代码 推广系统建站html项目答辩 泉州最好的网站建设公司企业网络拓扑图及说明 申请个人网站和企业官网有什么不同汽车技术资料网站建设 网站开发需解决的难题成都彩票网站开发 茂名市电白区住房和城乡建设局网站网站上的动态背景怎么做的 阿里云服务器创建网站吗网络广告推广 培训网站开发流程淘宝流量 衡阳北京网站建设网站单页制作 网站制作做站长挣钱良乡网站建设 o2o商城网站系统开发南宁关键词自然排名 怎么做关不掉的网站北京做网站建设价格低 ae做动画教程网站源码之家免费