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

个人做网站需要什么资料电力建设论坛

个人做网站需要什么资料,电力建设论坛,学校网站建设开发商,城阳城市规划建设局网站单例模式#xff1a;保证一个类只有一个实例 什么是单例模式#xff1f; 在软件开发中#xff0c;有些类只需要一个实例#xff0c;比如数据库连接池、线程池等。单例模式就是一种设计模式#xff0c;用于确保一个类只有一个实例#xff0c;并提供一个全局访问点。 实…单例模式保证一个类只有一个实例 什么是单例模式 在软件开发中有些类只需要一个实例比如数据库连接池、线程池等。单例模式就是一种设计模式用于确保一个类只有一个实例并提供一个全局访问点。 实现单例模式的方法最常见的五种 1. 饿汉式 饿汉式是最简单的实现方式它在类加载时就创建了实例并且提供一个静态方法返回该实例。 /*** 单例模式 - 饿汉式* 优点线程安全* 缺点资源浪费*/ public class Singleton1 {// 1. 声明并创建静态实例private static Singleton1 instance new Singleton1();// 2. 构造器私有private Singleton1() {}// 3. 公有的静态方法获取实例public static Singleton1 getInstance() {return instance;} }jdk源码中的 Runtime 就使用了这种方式实现单例模式 Runtime部分源码 public class Runtime {// 声明并创建静态实例private static Runtime currentRuntime new Runtime();/*** Returns the runtime object associated with the current Java application.* Most of the methods of class codeRuntime/code are instance* methods and must be invoked with respect to the current runtime object.** return the codeRuntime/code object associated with the current* Java application.*/// 公有的静态方法获取实例public static Runtime getRuntime() {return currentRuntime;}// 构造器私有/** Dont let anyone else instantiate this class */private Runtime() {} 2. 懒汉式 懒汉式是在第一次使用时才创建实例它使用了延迟加载的方式。 /*** 单例模式 - 懒汉式* 优点线程安全, 懒加载,避免了资源浪费* 缺点在多线程环境下每次调用getInstance()方法都需要进行同步会影响性能*/ public class Singleton2 {// 1. 声明静态实例private static Singleton2 instance;// 2. 构造器私有private Singleton2() {};// 3. 静态公有方法获取实例对该方法进行加synchronized进行线程同步public static synchronized Singleton2 getInstance() {if (instance null) {instance new Singleton2();}return instance;} }3. 双检锁 双检锁是对懒汉式的改进它使用了双重检查来提高性能。 /*** 单例模式 - 双重检索* 优点线程安全、懒加载、性能好*/ public class Singleton3 {// 1. 声明私有实例使用volatile修饰保证可见性、防止指令重排private static volatile Singleton3 instance;// 2. 构造器私有private Singleton3() {};// 3. 静态公有方法获取实例加入双重检查代码public static Singleton3 getInstance() {if (instance null) {synchronized (Singleton3.class) {if (instance null) { // 双重检查instance new Singleton3();}}}return instance;} }4. 静态内部类 静态内部类方式是利用了类加载机制来保证线程安全和延迟加载。 /*** 单例模式 - 静态内部类* 优点线程安全、懒加载、性能好*/ public class Singleton4 {// 1. 私有静态内部类内部创建静态实例private static class SingletonInstance {private static final Singleton4 INSTANCE new Singleton4();}// 2. 构造器私有private Singleton4() {};// 3. 静态公有方法获取实例public static Singleton4 getInstance() {return SingletonInstance.INSTANCE;} }5.枚举 借助了 JDK1.5 中添加的枚举来实现单例模式 /*** 单例模式 - 枚举* 优点线程安全、性能好、防止反序列化重新创建新的对象*/ enum Singleton5 {INSTANCE; // 属性 }单例模式的优点 提供了对唯一实例的控制确保只有一个实例存在。提供了全局访问点方便其他类使用该实例。避免了重复创建实例的开销提高了性能。 单例模式的应用场景 数据库连接池保证只有一个连接池实例避免资源浪费。配置文件管理器保证只有一个实例读取和管理配置文件。日志记录器保证只有一个实例记录日志。 单例模式的注意事项 线程安全在多线程环境下需要考虑线程安全性可以使用同步锁或者双重检查锁定来保证线程安全。序列化和反序列化如果单例类需要支持序列化和反序列化需要添加readResolve()方法来返回单例实例。类加载器在使用单例模式时需要注意类加载器的问题确保只有一个类加载器加载单例类。 总结 单例模式是一种常用的设计模式它可以确保一个类只有一个实例并提供一个全局访问点。通过选择合适的实现方式可以满足不同的需求。在使用单例模式时需要注意线程安全性、序列化和反序列化、类加载器等问题。合理地使用单例模式可以提高性能减少资源消耗提高代码的可维护性和可扩展性。 学习更多设计模式
http://wiki.neutronadmin.com/news/17536/

相关文章:

  • 婚纱摄影网站论文网站浮动qq
  • 公司网站开发人员的的工资多少百度网址安全中心怎么关闭
  • 做品牌推广网站需要多少钱哪家的虚拟主机哪个好
  • 常州做网站公司排名抖音账号权重查询
  • 艺阳科技网站建设最强商城系统
  • 专业网站建设哪个好wordpress转换emlog
  • 河源北京网站建设网页制作与设计是什么
  • 微信官方网站建设如何确定一个网站的关键词
  • 本科网站开发毕业设计php网站建设案例教程视频
  • 国外 网站网站珠海做网站设计
  • 广州网站建设服务商广州专业网站设计公司
  • 如何做企业网站内容策划沈阳科技网站首页
  • 怎么给你新网站做seo有没有做gif的专门网站
  • 深圳一百讯网站建设使用word做网站
  • 做旅游网站犯法吗域名到期网站
  • 网站的建设的项目介绍怎么写网页打不开无法连接服务器
  • 做网站需要干什么世界500强企业logo
  • 如何制作网站和软件网站建设优化服务
  • 深圳建设官方网站ps做网站 大小
  • 长春火车站附近有什么好玩的地方京东网上购物商城
  • 河南省建设科技协会网站网站安全优化
  • 榆社网站建设企业网站建设的文献
  • 郑州金水区做网站公司申请免费个人网站和域名
  • 免费网站注册申请网站开发基本流程
  • 做理财网站 程序员 违法吗前端容易被裁还是后端
  • 网站的建设方案网站关键词优化代码
  • jsp网站建设项目实践wordpress扁平化博客主题
  • 导购网站开发要多少钱横山桥网站
  • 淘宝网站做超链接智能软件开发专业
  • 开源网站统计建设局特种作业网站