WeakReference 的 Java 文档中的矛盾

2024-01-29

这个问题是关于理解Java文档中WeakReference的问题

当我读到Java的WeakReference时,我在文档中看到了这样一句话:

假设垃圾收集器在某个时刻确定 对象弱可达的时间。到时候就会 原子地清除对该对象的所有弱引用以及所有弱引用 对任何其他弱可达对象的引用 对象可以通过强引用和软引用链访问

但这对我来说没有意义。假设我有一个 WeakReference wrA 引用对象 A,另一个 WeakReference wrB 引用对象 B。并且 B 强引用 A(直接或通过链间接)。现在根据文档,如果A变得弱可达,并且如果当时B已经弱可达,那么wrB将与wrA一起被清除。但是,由于此时B已经弱可达,那么wrB不应该在第一次检测到B的弱可达性的时候就已经被清除了吗?


既然此时B已经弱可达,那么wrB不应该在第一次检测到B的弱可达性时就已经被清除了吗?

这是同时发生的,所以没有更早的时间。当 GC 启动时,所有当时不强可达的对象(例如 A 和 B)都有资格被清理。

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

WeakReference 的 Java 文档中的矛盾 的相关文章

  • 如何使用 Java 将 HTML 内容转换为 PDF 而不丢失格式?

    我有一些 HTML 内容 包括格式化标签 例如strong 图像等 在我的 Java 代码中 我想将此 HTML 内容转换为 PDF 文档 而不丢失 HTML 格式 有没有办法用 Java 来实现 使用 iText 或任何其他库 I use
  • Java Sqlite Gradle

    我对 gradle 和 java 还很陌生 我有一个使用 sqlite 的项目 它通过 intellij idea 运行良好 但我无法从终端运行它 它会抛出异常 java lang ClassNotFoundException org sq
  • 指纹奇异点检测

    我正在尝试确定指纹的核心点和增量点 我正在使用庞加莱指数方法 但我无法成功检测到这一点 而且我不明白为什么 First I divide the image in 15x15 blocks then I calculate the x an
  • 在 Tomcat 上部署 Java Web 项目,无需 WAR 或 EAR

    我有一个 Java Web 项目 Struts Spring 在我的本地主机上完美运行 我必须将其部署在我的网站上 但虚拟主机提供的 Tomcat Manager 界面显示 由于安全原因 它无法上传 WAR 文件 当联系技术支持时 我被告知
  • 以点作为分隔符分割字符串

    我想知道我是否要在一个字符串上分割字符串 正确的方式 我的代码是 String fn filename split return fn 0 我只需要字符串的第一部分 这就是我返回第一项的原因 我问这个是因为我在 API 中注意到 意味着任何
  • 如何在数据库中对 (Java) 枚举进行建模(使用 SQL92)

    您好 我正在使用名为 性别 的列对实体进行建模 在应用程序代码中 性别应该是一个 Java 枚举类型 有 2 个值 男性和女性 知道作为数据类型的枚举不是通用 SQL 语言 92 的一部分 您将如何建模它 数据模型必须是可移植的 以便由多个
  • java中队列的实现

    在 Java 中实现队列是一个非常常见的面试问题 我在网上冲浪 看到了许多实现 他们做了一些奇特的事情 比如实现队列接口和编写自己的addLast and removeFirst 方法 我的问题是我不能使用LinkedList 类并使用其预
  • 为什么一个线程会中断另一个线程[重复]

    这个问题在这里已经有答案了 在Java多线程应用程序中 我们处理InterruptedThreadException 如果另一个线程中断当前线程 则会抛出此异常 现在 当另一个线程知道它将导致异常时 它可能想要中断当前线程的原因是什么 很多
  • 更改 JTextPane 的大小

    我是Java新手 刚刚在StackOverflow中找到了这段代码 ResizeTextArea https stackoverflow com questions 9370561 enabling scroll bars when jte
  • 如何在Gradle中支持多种语言(Java和Scala)的多个项目?

    我正在尝试将过时的 Ant 构建转换为 Gradle 该项目包含约50个Java子项目和10个Scala子项目 Java 项目仅包含 Java Scala 项目仅包含 Scala 每个项目都是由 Java 和 Scala 构建的 这大大减慢
  • 在多模块项目中访问绑定适配器

    我有一个多模块项目 其中应用程序模块包含我的绑定适配器 而我的功能模块取决于我的应用程序模块 因为它是动态功能模块 应用程序 包含绑定适配器 gt 动态功能模块 存在布局的地方 我在所有模块中启用了数据绑定和 kapt 我无法成功构建应用程
  • 如何列出所有可用的 LookAndFeel 主题?

    如何列出所有可用的 LookAndFeel 主题 我想在 JComboBox 中显示以供用户选择 这真的很简单 public static UIManager LookAndFeelInfo getInstalledLookAndFeels
  • 膨胀类片段 InflateException 二进制 XML 文件时出错

    我正在使用 Material Design 和 NavigationDrawer 布局等设计我的第一个应用程序 但我遇到了一个问题 该应用程序非常简单 它只显示文本 并且基于 Android Studio 中提供的模板 尝试启动我的应用程序
  • 如何使用 Hibernate Session.doWork(...) 进行保存点/嵌套事务?

    我正在使用 JavaEE JPA 托管事务与 Oracle DB 和 Hibernate 并且需要实现某种嵌套事务 据我所知 此类事情不受开箱即用的支持 但我应该能够为此目的使用保存点 正如建议的https stackoverflow co
  • java中wav文件转换为字节数组

    我的项目是 阿塞拜疆语音的语音识别 我必须编写一个程序来转换wav文件到字节数组 如何将音频文件转换为byte 基本上如第一个答案中的片段所描述 但不是BufferedInputStream use AudioSystem getAudio
  • 设计抽象类时是否应该考虑序列化问题?

    一般来说这个问题来自Eclipse建议在抽象类上添加串行版本UID 由于该类是抽象类 因此该类的实例永远不会存在 因此它们永远不会被序列化 只有派生类才会被序列化 所以我的问题是放置一个安全 SuppressWarnings serial
  • 如何使用maven创建基于spring的可执行jar?

    我有一个基于 Maven 的 Spring WS 客户端项目 我想将其打包为单个 jar 在eclipse中 一切运行正常 当我尝试将其打包为可执行 jar 时 我收到 ClassNotFound 异常 因为 Spring jar 未包含在
  • 当我在 Java 中输入 IP 时无法连接到我的服务器

    好的 我正在尝试学习 Java 客户端 服务器的内容 并且正在浏览教程代码 如下所示 当我将 localhost 更改为我的 IP 时 它会停止工作 请帮忙 编辑 127 0 0 1 似乎也可以工作 但不是我的真实IP Copyright
  • 条件查询:按计数排序

    我正在尝试执行一个标准查询 该查询返回 stackoverflow 中回答最多的问题 例如常见问题解答 一个问题包含多个答案 我正在尝试使用标准查询返回按每个问题的答案数排序的回答最多的问题 任何人都知道我应该在 hibernate cri
  • 编译时在代码中替换Java静态最终值?

    在java中 假设我有以下内容 fileA java class A public static final int SIZE 100 然后在另一个文件中我使用这个值 fileB java import A class b Object t

随机推荐

  • Google Chrome 扩展程序:如何确定用户是否已登录 Chrome 浏览器?

    作为我正在构建的 Google Chrome 扩展程序的一部分 我需要能够在扩展程序启用时判断用户是否已登录 Google Chrome 浏览器 我怎样才能做到这一点 请注意 使用 OAuth2 因此 the chrome identity
  • 检查字符串是否以某种模式结尾

    如果我有一个像这样的字符串 This is a great place too work or This is a great place too work 我的程序应该告诉我这个句子是有效的并且它有 作用 如果我有 This is a g
  • Microsoft Chart 堆叠列与非堆叠列分组

    我希望显示 4 组的数据 每组有 1 个堆叠列和 1 个非堆叠列 这是我所追求的模型 获得四个组很容易 这给了我我想要的 Series series chart Series Add Budget series ChartType Seri
  • Team Foundation Server 和 Team Services 之间的区别

    Microsoft Team Foundation Server 和 Microsoft Team Services 之间有什么区别 Team Services 是否也用于持续集成 它可以与自托管 git 服务一起使用吗 希望这不是偏离主题
  • 单独线程中的无限循环

    我有一些数据库优化例程需要定期执行 我目前正在使用 TTimer 但主 VCL 冻结并且非常 hacky 我想知道最好的方法是什么 以降低 cpu 消耗并执行这些例程 我认为将例程放在具有低线程优先级的单独线程中是最好的方法 有任何想法吗
  • Rabbitmq消息到达时间戳

    有没有办法从消费者那里获取消息放入队列时的时间戳 不是当它发布的时候 而是当它真正进入队列的时候 不 没有办法解决这个问题 除非 正如您自己所说 您为此编写了一个插件 AMQP 中没有任何内容规格 http www amqp org sit
  • Android 应用程序干净的架构:数据层应该有自己的模型类吗?

    开发 Android 应用程序并尝试遵循干净的架构准则时 最好的方法是什么 但不是非常严格 因为这对于较小的项目可能有点过分 就我而言 我不确定哪种方法是最好的 如果有最好的方法 关于 数据层数据层是否应该在其自己的模型类上操作 或者是否可
  • 对 foreach 中的数组中的项目进行分组和求和

    我正在循环访问两个存储过程的结果集 根据另一个存储过程中的字段获取一个存储过程中的结果 包含结果集的两个数组是 customers and subcustomers foreach customers as customer foreach
  • 如何在MVC3中的Html beginform中发送javascript var

    我正在尝试使用 html beginform 将 JS 变量发送到控制器操作 例如 using Html BeginForm Index Contrl1 new SPName myJSVarcomeshere FormMethod Post
  • 即使与 libole32 链接,外部库中也未定义 OLE 引用

    使用 MINGW 我尝试将我的 C 代码与执行一些 OLE 操作的静态 C 库链接 mingw32 gcc main o resources o o mbcom exe L Lib Iup liup liupole lole32 lcomc
  • ggplot2:从包含geom_histogram的绘图对象读取最大条形高度

    像这样上一张海报 https stackoverflow com questions 7611691 relative positioning of geom text in ggplot2 我也在用geom text在 gglot2 中注
  • 远程 emacs 客户端连接,但不在终端中创建新框架

    我以 TCP 模式配置并启动了 emacs 服务器 Added setq server host 10 16 184 33 and setq server use tcp t 到 emacs ran emacs daemon 在同一主机上
  • 在 Django 模板中调用 Python 函数

    在 django 模板内 我尝试对其中一个模板变量调用 split 函数 然后获取最后一个元素 所以我做了如下操作 newsletter NewsletterPath split 1 不幸的是 它不喜欢分裂 有些人可能建议我在视图中进行拆分
  • 使用 NiFi 更新 CSV 内字段中的值

    我想实现一个简单的用例 使用 NiFi 将 CSV 内字段中的多个字符串 文本值更新为整数值 例如 我的 CSV 文件如下所示 输入 CSV 文件 字段 1 字段 2 美国 苹果 美国 苹果 印度 葡萄 中国城 奥兰治 澳大利亚民族 桃子
  • 如何让 QLabel 扩展到全宽?

    我想要一个QLabel无论内容如何 都扩展到容器的整个宽度 我想要这个 因为我动态设置文本并稍后添加小部件 这导致它切断部分文本 Widget Widget QWidget parent QWidget parent this gt set
  • 使用宏对数据集中的列按组求和

    我有一个数据集 如下所示 Month Cost Center Account Actual Annual Budget June 53410 Postage 13 234 June 53420 Postage 0 432 June 5343
  • javascript中div的随机位置

    我正在尝试使用 javascript 使 Div 随机出现在网页上的任何位置 因此 一个 div 出现然后消失 然后另一个 div 出现在页面上的其他位置然后消失 然后另一个 div 再次出现在页面上的另一个随机位置然后消失 依此类推 我不
  • 使用 csv 文件进行 Flyway 特定迁移

    我们正在使用 Flyway 通过 sql 脚本在我们的测试环境中保持最新的许多数据库 并且它工作得很好 但我们还特别需要使用 csv 文件更新数据库 我知道 Flyway 提供了一些基于 Java 的迁移来处理更复杂的更新 但问题是这些 J
  • 如何读取基于EMV的智能VISA卡详细信息

    我正在尝试从 VISA 卡读取信用卡数据 但无法成功 正如在互联网资源中我发现对于 MASTER 卡 我们可以使用 1PAY SYS DDF01 文件选择 PSE 目录 然后阅读记录 但对于 VISA 来说 它不是强制性的 当我使用 SEL
  • WeakReference 的 Java 文档中的矛盾

    这个问题是关于理解Java文档中WeakReference的问题 当我读到Java的WeakReference时 我在文档中看到了这样一句话 假设垃圾收集器在某个时刻确定 对象弱可达的时间 到时候就会 原子地清除对该对象的所有弱引用以及所有