如何将对象标记为由 GC(垃圾收集器)进行垃圾收集?

2024-02-16

在Java中,有没有办法markGC 下一次垃圾收集的对象clean up cycle?

我听说设置一个对象null不再有效。


不,你不能。如果另一个变量引用了它,您会期望发生什么?

请注意,您无法设置object为 null - 您只能设置一个variable为空。如果另一个变量仍然拥有对该对象的引用,它仍然不符合垃圾回收的条件。

如果您认为需要这样做,这可能意味着您误解了您的数据 - 或者您的代码中的某个地方可能存在泄漏(例如,您只添加条目的列表,由静态变量引用 - 这些条目当类加载器处于活动状态时,永远没有资格进行垃圾收集)。

每个 JVM 都有自己的 GC,但在 Hotspot 中,下次 GC 在该对象当前“生存”的一代上运行时,该对象将被垃圾收集(假设它没有终结器,这会使事情变得复杂)。如果该对象位于“年轻”一代,那么这可能很快就会发生 - 如果它位于“老”代,则可能需要更长的时间。

您可能想查看Java 6 GC 调优文档 http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html了解更多信息,当然,从那时起,OpenJDK 7 等的情况已经发生了变化。

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

如何将对象标记为由 GC(垃圾收集器)进行垃圾收集? 的相关文章

  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • Play框架运行应用程序问题

    每当我尝试运行使用以下命令创建的新 Web 应用程序时 我都会收到以下错误Play http www playframework org Error occurred during initialization of VM Could no
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch

随机推荐

  • 如何验证nestjs中的查询参数

    哟 我有 Nestjs 的商店应用程序 我需要验证 mongo id 这是通过查询传递的 问题是我也传递和搜索查询 我编写了验证所有值的管道 并排除了此搜索查询 Injectable export class ValidationObjec
  • Ada 通用平均函数

    我有一个函数可以对记录数组中的某个数值进行平均 该值可以是自然类型增量 也可以是枚举类型增量 我让它正确地总结了这些值 但我的问题是 如何将数组的长度转换为通用类型 以便它可以除以整数和增量类型数字 在记录数组上使用 长度 属性 这样做的优
  • Android 上的 Google 地图无法加载

    我的应用程序中有一个可用的 Google 地图 但我必须开始使用另一台计算机 所以我用 Android Studio 等在这台新电脑上下载了我的源代码 现在 我无法再让 Android 地图显示了 我在 Google Console 中从我
  • Hibernate 从多个表中计数

    我想编写一个 HQL 查询 从不同列的 4 个表中返回特定计数 我有4张桌子 Tab1 Tab2 Tab3 and Tab4 我想得到这样的东西 Tab1 Tab2 Tab3 Tab4 1 13 7 0 所有记录在Tab 有自己的id an
  • 如何在用 C 编写的类似 FORTH 的语言解释器中实现 LOOP

    我正在用 C 编写一种简单的基于堆栈的语言 并且想知道应该如何实现某种类型的循环结构和 或前瞻符号 由于此页面的代码有点长 超过 200 行 所以我将其放入GitHub 存储库 https github com tekknolagi Sta
  • 如何在 C# 中混合两个视频流?

    过去 我使用 Managed Direct X 和 DirectShow Net 将视频播放到简单网格上的纹理 然后 我使用相同的技术将多个视频源组合成单个纹理 并使用通过纹理公开的各种功能将这些流混合在一起 这是 2 年前的一个非常有趣的
  • Java 中 int 与 float 算术效率

    我正在编写一个应用程序 它使用 Dijkstra 算法来查找图中的最小路径 图中节点和边的权重为float数字 因此该算法对浮点数进行许多算术运算 如果我将所有重量转换为int是 Java中int算术运算比float算术运算更快吗 我尝试编
  • 用于添加应用程序的 Windows Azure Graph API

    我正在尝试使用 Windows Azure Active Directory WAAD 图形 API 将应用程序添加到我的 WAAD 租户 我已成功使用 API 创建用户 使用 API 添加应用程序时 我收到授权异常 Authorizati
  • 基于视图的 NSOutlineView 标题单元格字体问题

    我目前正在尝试在我的 Cocoa 应用程序中使用新的基于视图的 NSOutlineView 由于我没有使用绑定 因此我在控制器中实现了所有必需的委托和数据源方法 在界面生成器中 我添加了一个 NSOutlineView 其突出显示设置为来源
  • 如何使用 MATLAB 找到两个斑点(轮廓/闭合曲线)之间的最短路径?

    bwlabel可用于获取图像中断开连接的对象 L Ne bwlabel image 如何计算两条不连通的闭合曲线之间的最短路径 有实际的 非理论的 解决方案吗 建议1 尝试提取要连接的对象的周边像素的坐标 并将它们用作图形中的节点 然后使用
  • Xamarin iOS 构建的 DevOps CI 错误 在钥匙串中找不到有效的 iOS 代码签名密钥

    我已经为我的 Xamarin iOS 应用程序创建了 YAML 构建配置 并提供了证书文件 p12 和 mobileprovision 但是当管道运行时 它在应用程序的构建步骤中失败 证书安装通过 Note具有相同证书文件和密码的构建在应用
  • Keras 中的回调异常 - Tensorflow 2.0 - Python

    以下代码在与 Keras 打包的 MNIST 数据上运行顺序 Keras 模型 非常简单 在运行以下代码时 我遇到异常 该代码很容易重现 import tensorflow as tf class myCallback tf keras c
  • 有没有办法获取 Visual Studio 使用的构建命令行?

    我想从命令行进行构建 但我想从 Visual Studio 2012 获取确切的命令行语法 这样我就不必手动找出所有标志 导入和其他参数 有没有办法让 Visual Studio 显示这些信息 在 Visual Studio 中生成项目或解
  • 使用 Service Worker 处理离线时的文件上传

    我们有一个 Web 应用程序 使用 AngularJS 构建 我们也逐渐添加 PWA 功能 服务工作线程 可启动项 通知等 我们的网络应用程序的功能之一是能够在离线状态下完成网络表单 目前 我们在离线时将数据存储在 IndexedDB 中
  • Mongoid embeds_many:推送文档而不保存以保留脏状态

    在 Mongoid 中 将文档推送到embeds many关系自动将文档保存到数据库中 通常 这很好 但是当我需要跟踪嵌入文档的更改时 我会遇到问题 假设您有两个模型 class List include Mongoid Document
  • 从函数 React Native 获取字符串结果

    我创建了一个连接到 redux 并返回当前加载的组件item sname 作为导航标题 但是当我尝试从此组件获取标题时 它会出现以下错误 Error title cannot be defined as a function in navi
  • 不支持的major.minor版本51.0(无法加载类org.postgresql.Driver)

    使用maven创建一个Web应用程序并将其部署在heroku上 一切正常 但当我调用使用 postgresql 9 2 1002 jdbc4 驱动程序的操作时 我得到 java lang UnsupportedClassVersionErr
  • Android Studio 3.5 原因:buildOutput.apkData 不得为 null Clean & Rebuild 已尝试

    在我将 Android Studio 3 4 更新到 3 5 并想要构建签名 APK 后 我收到错误 原因 buildOutput apkData 不能为 null 错误 我已经尝试过清理和制作项目以及清理和重建项目 但没有成功 我正在使用
  • 从 iOS 15.0 同步 CloudKit 后,CoreData 中的关系为零

    我正在为一个新应用程序开发 PoC 但我遇到了两个 CoreData 实体的问题InboxItem and CardSet 它们中的每一个都具有可选的 对一 关系 当我在模拟器中启动应用程序并创建这些实体时 模拟器数据库和 CloudKit
  • 如何将对象标记为由 GC(垃圾收集器)进行垃圾收集?

    在Java中 有没有办法markGC 下一次垃圾收集的对象clean up cycle 我听说设置一个对象null不再有效 不 你不能 如果另一个变量引用了它 您会期望发生什么 请注意 您无法设置object为 null 您只能设置一个va