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

做单屏网站 高度是多少网络科技工作室起名

做单屏网站 高度是多少,网络科技工作室起名,保健品 东莞网站建设,学校门户网站作用【README】 1#xff0c;effectivejava 讲到使用 枚举类实现单例的例子#xff0c;非常好用#xff1b;2#xff0c;好处如下#xff1a; 不用定义私有构造器#xff1b;不用定义获取单例的方法#xff0c;如 getInstance() #xff1b;通过 枚举类.INSTANCE() 就可以…【README】 1effectivejava 讲到使用 枚举类实现单例的例子非常好用2好处如下 不用定义私有构造器不用定义获取单例的方法如 getInstance() 通过 枚举类.INSTANCE() 就可以获取单例了少了很多代码枚举类满足单例天然的性质【1】枚举enum单例 【1.1】枚举类 /*** Description kafka管理器* author xiao tang* version 1.0.0* createTime 2021年11月19日*/ public enum PPKafkaManager {/** 单例 */INSTANCE;/** 缓存/kafka集群名-属性配置映射 */public final ConcurrentMapString, Properties kafkaConfigs new ConcurrentHashMap();/*** description 获取或添加属性配置* param clusterName 集群名* author xiao tang* date 2021/11/19 */public Properties getOrCreate(String clusterName) {// 若存在直接取走if (kafkaConfigs.containsKey(clusterName)) {return kafkaConfigs.get(clusterName);}// 新建kafka属性Properties newProps create();Properties oldProps kafkaConfigs.putIfAbsent(clusterName, newProps);// 若旧属性存在则使用旧属性丢弃新属性注意关闭资源if (oldProps ! null) {// 这里注意关闭资源其他业务场景可能这里还连接到了kafka集群newProps.clear();}return kafkaConfigs.get(clusterName);}/*** description 新建kafka属性* return kafka属性* author xiao tang* date 2021/11/19*/private Properties create() {// 其他属性加工逻辑return new Properties();} } 我们发现基于枚举实现的单例类我们不用定义私有构造器不用声明getInstance方法因为 PPKafkaManager.INSTANCE 就可以引用单例 【1.2】枚举类构造器 【1.2.1】为啥枚举类可以没有私有构造器 为此我们反编译了  PPKafkaManager 类 如下 // 枚举类反编译结果 D:\workbench_idea\study4vw\vwstudy01\srcjavap com.cmc.vw.javaoop.enumtest.PPKafkaManager Compiled from PPKafkaManager.java public final class com.cmc.vw.javaoop.enumtest.PPKafkaManager extends java.lang.Enumcom.cmc.vw.javaoop.enumtest.PPKafkaManager {public static final com.cmc.vw.javaoop.enumtest.PPKafkaManager INSTANCE;public final java.util.concurrent.ConcurrentMapjava.lang.String, java.util.Properties kafkaConfigs;public static com.cmc.vw.javaoop.enumtest.PPKafkaManager[] values();public static com.cmc.vw.javaoop.enumtest.PPKafkaManager valueOf(java.lang.String);public java.util.Properties getOrCreate(java.lang.String);static {}; } 我们也可以查看 idea的反编译结果发现枚举类构造器是私有 我们发现 1PPKafkaManager 枚举类 编译后是一个 final 类所以它是不能被继承的2PPKafkaManager 枚举类 继承自 Enum 类3枚举类实例 INSTANCE 是一个static final 静态常量仅有一份所以可以直接引用4 枚举类 PPKafkaManager 默认为私有构造器 【1.2.2.】查看 Enum构造器 1类定义 public abstract class EnumE extends EnumEimplements ComparableE, Serializable { 2Enum 只有一个构造器如下 protected Enum(String name, int ordinal) {this.name name;this.ordinal ordinal; } 很显然 这个构造器是 protected访问权限是 同包下或其子类又因为 INSTANCE 被final修饰所以它不能被继承即没有子类 总结下 1Enum枚举子类的类被final修饰所以无法被子类继承2构造器默认为private所以不能被其他类实例化3通过反射也是无法实例化枚举类的4线程安全因为枚举类实例 被 static final修饰主程序启动时枚举类实例就已经加载到内存了 以上枚举类天然满足单例类的条件且代码更加简单
http://www.zqtcl.cn/news/672634/

相关文章:

  • 做数学题挣钱的网站广西建筑特种作业证件查询官网
  • 汉字叔叔花了多少钱做网站免费原创视频素材
  • 网站开发提现功能互联网推广工作好做吗
  • 做阿里渠道的销售要有哪些网站网站评论怎么做的
  • 建设中网站如何上传图片深圳营销型网站建设设计公司
  • 建设电商网站需要多少钱家具网页设计素材
  • 物流网站html5模板网站整站开发
  • 网站随机代码网站开发技术试验教程
  • 做翻译 网站吗仿京东电商的网站开发报价
  • 霞山网站建设公司网站开发怎样手机号验证
  • 大型门户网站建设苏州优化网站建设
  • 网站步骤怎么搭建个人网站
  • 荥阳网站建设公司wordpress会员上限
  • 采购需求网站建设呼伦贝尔网站开发
  • 东莞网站建设方案服务极速网站建设定制价格
  • 网站建设费记账福州百度网络推广
  • 中国农村建设网站邵阳房产网
  • 做非法网站网站上海备案查询
  • 网站制作要学哪些北京信管局 网站备案
  • 百度新闻源网站有哪些wordpress怎么配置七牛cdn加速
  • 山东城乡住房建设厅网站wordpress 购物网站主题
  • 石家庄制作网站查网站流量查询工具
  • 信誉好的永州网站建设静态网站的短处
  • wordpress主题汉化软件河南网站优化哪家好
  • 关于水果的网站建设前端页面设计
  • 随州网站推广哪家好河南网站seo营销多少费用
  • 重庆网站优化排名软件方案谁能做网站开发
  • 河南官网网站建设报价app网站制作多少钱
  • 做网站页面一般用什么软件网站建设项目说明书
  • 做国外lead应该做什么网站网站运营报告