Java 的 G1 垃圾收集器 (G1GC) 中的类卸载

2024-02-17

在Java 6中我们曾经使用下面的GC配置来防止Perm GenOutOfMemoryException多次重新部署我们的应用程序后:

-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled

我们正在转向 Java 7,并希望使用新的 G1 GC,据我所知,它将类从 Java 内存中的 PermGen 移动到本机内存。

是否有一些标志可以卸载未使用的类?


G1 在 Full GC 期间执行类卸载,因此您不需要指定任何参数来启用此操作。

您可以使用以下命令亲自查看-XX:+TraceClassUnloading争论。

另外,请查看 HotSpot GC 邮件列表中的此电子邮件线程:G1GC 中的错误,当代码缓存已满时,它会执行 Full GC,从而导致过度杀伤 http://mail.openjdk.java.net/pipermail/hotspot-gc-use/2013-May/001548.html。他们相当广泛地讨论了 G1 中的类卸载。总而言之,您可以使用-noclassgc如果您看到类卸载问题,但通常 G1 中的类卸载没有问题。

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

Java 的 G1 垃圾收集器 (G1GC) 中的类卸载 的相关文章

  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • 在内存中使用 byte[] 创建 zip 文件。 Zip 文件总是损坏

    我创建的 zip 文件有问题 我正在使用 Java 7 我尝试从字节数组创建一个 zip 文件 其中包含两个或多个 Excel 文件 应用程序始终完成 没有任何异常 所以 我以为一切都好 当我尝试打开 zip 文件后 Windows 7 出
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • java.lang.IllegalStateException:提交响应后无法调用 sendRedirect()

    这两天我一直在尝试找出问题所在 我在这里读到我应该在代码中添加一个返回 我做到了 但我仍然得到 java lang IllegalStateException Cannot call sendRedirect after the respo
  • 无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]-MySQL

    我是 Hibernate 的新手 我目前正在使用 Spring boot 框架并尝试通过 hibernate 创建数据库表 我知道以前也问过同样的问题 但我似乎无法根据我的环境找出如何修复错误 休眠配置文件
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 内部类的构造函数引用在运行时失败并出现VerifyError

    我正在使用 lambda 为内部类构造函数创建供应商ctx gt new SpectatorSwitcher ctx IntelliJ建议我将其更改为SpectatorSwitcher new反而 SpectatorSwitcher 是我正
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db

随机推荐

  • v-if 在 DIV 上但总是使用 Vue.js 显示其内容?

    使用 Vue js 我需要切换父级 div 但是always显示子 div div class parent div class child Child should always be visible div div 据我所知 这对于 V
  • 使用 JAXB 从未编组的 java 对象中获取 xml 元素名称

    我有田地带注释的 with XmlElement name xxx 在我的 Java 模型中 有没有办法以编程方式获取 xml 元素名称 假设我们有带注释的实体 XmlRootElement public class Product Str
  • PrimaryContext 和 UserPrincipal 如何知道密码何时过期?

    我有一个UserPrincipal具有很多属性的对象 但我找不到密码过期日期的属性 如何才能做到这一点 这是我能想到的最简单的方法 using System DirectoryServices using System DirectoryS
  • R mlr3 创建TaskregrST 重复行?

    我有一个名为 tab mlr 的数据框 其中包含 788 行中约 19 个特征的坐标 str tab mlr 该天体有 21 个变量的 788 个观测值 其中 2 个变量为纬度和经度 我创建一个像这样的 sf 对象 data mlr lt
  • Inno Setup:选择组件的功能

    我有一个小问题 我需要当您选择一个或两个组件时显示一个页面 但其他的并不是只用单一的组件似乎就有效果 我留下了我正在工作的代码 Setup AppName My Program AppVerName My Program v 1 2 Def
  • Javascript + HTML5 本地存储 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 所以我正在寻找一个关于 localstorage 的好的速成课程 并用 Javascript 与之交互
  • jQuery - :not() 中的多个选择器?

    我似乎无法进行以下工作 input not type radio type checkbox live click function alert You haven t clicked a radio or checkbox 尝试了几种不同
  • 如何使用moment js和angularjs获取子午线(上午/下午)

    我有一个关于 Moments js 库的问题 我有一个 AngularJS 中的应用程序 其中有六个选择元素 用于年 月 日 小时 分钟和上午 下午格式 我使用以下格式 moment 来构建 m format 日期 YYYY MM DD h
  • 使用 UpdateChildValues 从 Firebase 中删除

    我正在尝试同时从 Firebase 数据库中的多个位置删除数据 The Firebase 文档 https firebase google com docs database ios save data state 删除数据的最简单方法是在
  • 如何设置 $docroot 来为我提供我想要的路径

    我该如何定义 docroot路径 这样我就可以输入我自己的路径 我有代码 docroot getenv DOCUMENT ROOT 当我将它与我的 index php 结合使用时 索引 php docroot getenv DOCUMENT
  • 在 protobuf 中使用 int32 的原因

    在 gpb proto2 标量类型的描述中 https developers google com protocol buffers docs proto scalar https developers google com protoco
  • 以编程方式将谷歌设置为主屏幕自定义启动器中的搜索栏

    我正在创建 我自己的启动器 In that case I want to put我的主屏幕中的快速搜索栏 即 Google now 启动器 我怎样才能做到这一点 我已经浏览了多个线程但没有找到任何相关答案 我不想展示widget picke
  • 等待 TaskEx.Delay

    我正在使用 HttpListener 和 Async CTP class HttpServer IDisposable HttpListener listener CancellationTokenSource cts public voi
  • 请求沙盒测试者用户 ID 的 Apple 验证电子邮件

    我在获取我在 iTunesConnect 中创建的用于购买非消耗性产品的测试用户沙箱 ID 时遇到问题 创建 ID 后我等了一天才尝试使用它们 首先 我根据设备上的 Settings iTunes App Store 确保没有 ID 登录
  • 屏幕更改后的默认 UIAccessibilityElement

    有什么方法可以决定哪个元素首先获得焦点 我尝试在以下方法中使用第二个参数 UIAccessibilityPostNotification UIAccessibilityLayoutChangedNotification element 但没
  • PHPUnit:如何模拟今天的日期而不将其作为参数传递?

    我正在我的班级上测试一种进行日期检查的方法 问题是该方法取决于今天的日期 每天都在变化 这使得测试变得困难 我如何模拟今天的日期 以便我的测试明天仍能通过 我对 PHP 一无所知 但在 Java 和 C 中 我会传递一些描述的 时钟 不是今
  • 如何将 CSV 文件的表值转换为数组?

    我的价值低于我的 CSV 文件的第一列 table border 1 tr th align left First Name th th align left Gender th th align left Nationality th t
  • 这里使用哪个 XML 解析器?

    我正在接收一个 XML 文件作为输入 其大小可能从几 KB 到更多 我通过网络获取该文件 我需要根据我的使用提取少量节点 因此大部分文档对我来说毫无用处 我没有记忆偏好 我只需要速度 考虑到这一切 我得出的结论是 这里不使用 DOM 由于
  • 从 Numpy 数组中的元素创建新的 Numpy 数组

    这题好像想不通对 numpy 非常陌生 我有一个 numpy 形状数组 200 1 1000 1000 对应于 图像数量 通道 x of image y of image 所以我有 200 个图像 每个通道有 1000x1000 像素 我想
  • Java 的 G1 垃圾收集器 (G1GC) 中的类卸载

    在Java 6中我们曾经使用下面的GC配置来防止Perm GenOutOfMemoryException多次重新部署我们的应用程序后 XX UseConcMarkSweepGC XX CMSClassUnloadingEnabled 我们正