具有延迟加载功能的单元素枚举类型单例

2023-11-21

我读了很多关于在 java 中实现单调模式的不同风格的论坛和帖子,似乎“枚举是在 java 中实现单调模式的最佳方法”! 我想知道如何使用 Java Enum 在 java 中实现 SingleTone 模式带有延迟加载能力。因为枚举只是类。第一次使用某个类时,它会被 JVM 加载并完成所有静态初始化。枚举成员是 static ,因此它们都将被初始化。

有谁知道我如何使用带有延迟加载支持的枚举?


您阅读的来源之所以说这是执行惰性单例的最简单方法,是因为它应该可以工作。尝试这个:

public class LazyEnumTest {
  public static void main(String[] args) throws InterruptedException {
    System.out.println("Sleeping for 5 seconds...");
    Thread.sleep(5000);
    System.out.println("Accessing enum...");
    LazySingleton lazy = LazySingleton.INSTANCE;
    System.out.println("Done.");
  }
}

enum LazySingleton {
  INSTANCE;
  static { System.out.println("Static Initializer"); }
}

这是我在控制台中得到的输出:

$ java LazyEnumTest
Sleeping for 5 seconds...
Accessing enum...
Static Initializer
Done.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有延迟加载功能的单元素枚举类型单例 的相关文章

  • 如何在spring mvc中从控制器名称+操作名称获取映射的URL?

    是否有现有的解决方案可以从 Spring MVC3 中的 控制器名称 操作名称 获取映射的 URL 例如 asp net mvc 或 Rails 中的 UrlHelper 我觉得非常有用 thx 也许 你想要这样的东西 in your Co
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • Java:使用 HttpURLConnection 的 HTTP PUT

    如何执行 HTTP PUT 我正在使用的类似乎认为它正在执行 PUT 但端点将其视为我执行了 GET 我做错了什么吗 URL url new URL https HttpURLConnection conn HttpURLConnectio
  • Condition 接口中的 signalAll 与对象中的 notificationAll

    1 昨天我才问过这个问题条件与等待通知机制 https stackoverflow com questions 10395571 condition vs wait notify mechanism 2 我想编辑相同的内容并在我的问题中添加
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • 具有共享依赖项的多模块项目的 Gradle 配置

    使用 gradle 制作第一个项目 所以我研究了 spring gradle hibernate 项目如何组织 gradle 文件 并开始制作自己的项目 但是 找不到错误 为什么我的配置不起作用 子项目无法解决依赖关系 所以项目树 Root
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • 列表应该如何转换为具体的实现?

    假设我正在使用一个我不知道源代码的库 它有一个返回列表的方法 如下所示 public List
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do
  • 哪个集合更适合存储多维数组中的数据?

    我有一个multi dimensional array of string 我愿意将其转换为某种集合类型 以便我可以根据自己的意愿添加 删除和插入元素 在数组中 我无法删除特定位置的元素 我需要这样的集合 我可以在其中删除特定位置的数据 也
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • mongodb c# API V2:ReplaceOne 和 FindOneAndReplace 之间的区别

    查看 mongodb 文档 我读到 FindOneAndReplace 将是一个原子操作 但我不明白的是为什么 ReplaceOne 不是原子的 如果存在差异 为什么还要使用 ReplaceOne 该文档揭示了一个不同的方法签名 替换一个
  • 读取文件直到Python中的特定字符

    我目前正在开发一个应用程序 该应用程序需要从文件中读取所有输入 直到遇到某个字符 通过使用代码 file open Questions txt r c file readlines c x strip for x in c 每次脱衣相遇 n
  • 从不同的基类重载同名的虚函数。是否可以? [复制]

    这个问题在这里已经有答案了 标题可能令人困惑 假设我们有以下设置 class A public virtual void fn 0 class B public virtual int fn class C public A public
  • R 创建包含每行最大值的列名的列

    我和这个问题有同样的要求 对于每一行返回最大值的列名 但是 我需要包含每行最大值的所有列的名称 如果我每行有两个相同的最大值 上面链接中提供的所有解决方案都会出现问题 df lt data frame V1 c 2 8 1 5 6 V2 c
  • 如何使用 c-ares 将 IP 解析为主机?

    这就是我到目前为止所做的 它可以编译 但当我尝试运行它时会出现段错误 include
  • 如何处理您想要扩展的密封在 .NET 库中的类?

    我正在阅读有关如何处理想要扩展 NET Framework 库中的密封类的问题的文章 这通常是一项常见且有用的任务 因此我开始思考 在这种情况下 有哪些解决方案 我相信在我读过的文章中演示了一种扩展密封类的 方法 但我现在不记得了 它不是扩
  • 如何获取通用 Windows 批处理文件时间戳

    我在 Windows 批处理文件中生成时间戳时遇到问题 因为我在不同的 Windows 版本上得到不同的日期格式 我的机器 gt echo date gt Tue 11 17 2009 友机 gt echo date gt 11 17 20
  • 如何使用 .bat 文件从 PATH 环境变量中删除特定标记?

    我正在编写卸载脚本 因此我想 撤消 安装对系统所做的修改 为了实现这个目标 我想解析PATH变量 并删除安装添加到的任何值PATH 为此 我开发了以下伪代码 保存内容PATH到临时变量 拆分PATH转换为令牌 使用 字符作为分隔符 并循环遍
  • 将表转换为分层字典?

    我有一个表格 A1 B1 C1 value A1 B1 C1 value A1 B1 C2 value A1 B2 C1 value A1 B2 C1 value A1 B2 C2 value A1 B2 C2 value A2 B1 C1
  • 瘦服务器:将 Rails 应用程序日志输出到控制台,如“rails s”那样

    我需要跑thin start or thin ssl start在我的 Rails 应用程序的根目录中 并查看输出到控制台的应用程序日志 类似于rails s does In config ru文件 位于应用程序的根目录 在该行之前添加以下
  • 授予 Node.js 访问证书/私钥的权限

    我正在尝试在我的 Node js 应用程序上使用 HTTPS 就像它已针对其他任何内容启用一样 我已经安装了密钥和证书 但我得到了Error EACCES permission denied当我试图在应用程序上指向它们时 密钥和证书都位于以
  • 是否可以保证 memset 将结构中的填充位清零?

    一般来说 根据 C 标准 是否可以保证带有 0 的 memset 会将 C 结构中的填充位清零 海湾合作委员会呢 例如 类似 struct MyStruct unsigned char member1 unsigned int member
  • 在 viewpager 中显示 Youtube 视频

    我想设置YouTube内的视频ViewPager 为此我设置了FrameLayout在适配器中 我在其中设置了 YoutubeVideoFragment 如下所示 我的 ViewPager 适配器 import android app Ac
  • 在 Go 中使用匿名成员扁平化编组 JSON 结构

    给出以下代码 转载于此处play golang org package main import encoding json fmt type User struct Id int json id Name string json name
  • 在 ggplot 中使用多个尺寸比例

    我正在尝试构建一个显示从一个类到另一个类的转换的图 我想要有代表根据类属性调整大小的每个类的圆圈 以及根据从一个类到另一个类的转换数量从一个类到另一个类的箭头 举个例子 library ggplot2 points lt data fram
  • php - 如何检索 div 标签属性值

    我有一个可以隐藏或不隐藏的 div 具体取决于用户 该 div 有一个名为 attrLoc 的属性 我想要的是能够从 php ini 检索该属性值 希望有人能帮忙 预先感谢您的回复 干杯 马克 My HTML div class hidde
  • 在行内行块下方添加一个 div

    我有一个内联块元素列表 它们换行形成几行 我想在行之间显示一个 div 元素 具体取决于特定元素所在的位置 例如 前几行已编号 如果我想定位第三个元素并显示全长元素 包含块的 div 的 100 那么它将如下所示 对于任何块 1 5 全长
  • 如何将地图转换为 url 查询字符串?

    您是否知道任何实用程序类 库可以将 Map 转换为 URL 友好的查询字符串 Example 我有一张地图 param1 12 param2 cat 我想得到 param1 12 param2 cat 最终输出 relativeUrl pa
  • java和javaw的区别

    我搜索以了解之间的区别java exe and javaw exe 我通读了Java exe 和 Javaw exe 之间的区别 那里指出java exe用于控制台和javaw exe用于窗口应用程序 在其他一些帖子中提到控制台不可用jav
  • 具有延迟加载功能的单元素枚举类型单例

    我读了很多关于在 java 中实现单调模式的不同风格的论坛和帖子 似乎 枚举是在 java 中实现单调模式的最佳方法 我想知道如何使用 Java Enum 在 java 中实现 SingleTone 模式带有延迟加载能力 因为枚举只是类 第