什么 Java 垃圾收集器清理 PermGen?

2024-04-14

垃圾收集者名单:

  • 串行GC
  • 并行气相色谱
  • 并行旧GC
  • 浓缩标记扫描GC
  • G1 GC

我知道当您启用 ClassUnloading JVM 选项时,Conc Mark Sweep GC 支持清理 PermGen。其他垃圾收集器是否支持清理 PermGen?

原因:我们使用 Spring、Hibernate 和 Groovy 创建了大量代理,并且 Perm Gen 变得很大。

编辑: 应该提到我正在使用 Java 7。我知道 Java 8 删除了 Perm Gen,并希望在将来的某个时候进行升级。与此同时,我的问题是除了 Conc Mark Sweep 之外,其他垃圾收集器是否支持清理 PermGen。

  • 串行GC
  • 并行GC(相信-server默认使用它并确认它清理了perm gen)
  • 并行旧GC
  • Conc Mark Sweep GC(可以使用 JVM 标志清理 perm gen)
  • G1 GC

所有算法都在清理 PermGen,但是

  • 并非每个 GC 周期都包括 PermGen 清洁
  • CMS可以清理PermGen同时,G1一直要求停止世界 Full GC卸载类(干净的 PermGen)直到 Java 8u40
  • Java 8 有元空间而不是 PermGen,但它也需要垃圾收集(否则你会在元空间中得到 OOME)

当我积极使用 ClassLoaders 在单个进程中模拟多个 JVM 进行测试时,我在 PermGen 中与 OOME 进行了相当多的斗争。我的结论是:PermGen GC 不太可靠。一次运行它按预期工作,另一次运行它抛出 OOEM。

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

什么 Java 垃圾收集器清理 PermGen? 的相关文章

  • 在 Java 中使用 Batik 检查和删除 SVG 中的属性

    这个问题基本上说明了一切 如何检查 SVG 是否具有 viewBox 属性 我正在使用蜡染库 我需要这个 因为我需要 至少 通知用户有一个 viewBox 属性 我可以删除它吗 使用 org w3c dom 类 您可以按照以下方式做一些事情
  • 对象数组的数组(二维数组)JNI

    我正在努力创建自定义对象类型 ShareStruct 的二维数组 jobjectArray ret jobjectArray ins jobjectArray outs jclass myClass env gt FindClass env
  • 使类只能从特定类实例化

    假设我有 3 节课class1 class2 and class3 我怎样才能拥有它class1只能通过实例化class2 class1 object new class1 但不是 class3 或任何其他类 我认为它应该与修饰符一起使用
  • 重写 getPreferredSize() 会破坏 LSP

    我总是在这个压倒一切的网站上看到建议getPreferredSize 而不是使用setPreferredSize 例如 如前面的线程所示 对于固定大小的组件 使用重写 getPreferredSize 而不是使用 setPreferredS
  • 运行 java -jar 时出现 java.lang.ClassNotFoundException

    我正在使用 ant 来构建我的build xml文件 它编译正常 但随后得到运行时java lang NoClassDefFoundError通过 运行生成的 jar 时java jar my jar jar 似乎这个问题出现了很多 但没有
  • 我需要在 JFileChooser(打开模式)中显示不带扩展名的文件名。如何?

    我在打开模式下使用 JFileChooser 我需要显示不带扩展名的 文件名 字段 如何 我知道文件视图 它删除文件系统文件中的扩展名 但将所选文件中的扩展名保留在 文件名 字段中解释 http saveimg ru show image
  • 如何在 MSSQL 中获取 CURRENT_DATE?

    我正在使用 jpa 3 o 和 Hibernate 我有一个命名查询 SELECT COUNT wt id FROM WPSTransaction wt WHERE wt createdDate gt CURRENT DATE WPSTra
  • 无法从资源加载图片

    So I am trying to load a image file from a resource so that when I export my application into a jar file it could be use
  • 具有 JPA 持久性的 Spring 状态机 - 存储库使用

    我试图弄清楚如何轻松使用 Spring 状态机 包括使用 JPA 进行持久化 这是我正在处理的问题 不兼容的数据类型 工厂和持久性 在程序的某个时刻 我想使用连接到用户的状态机 有用于此目的的存储库 项目spring statemachin
  • Struts 1 到 Spring 迁移 - 策略

    我有一个legacy银行应用程序编码为Struts 1 JSP现在的要求是迁移后端 目前为 MVC to Springboot MVC 后续UI JSP 将迁移到angular Caveats 1 后端不是无状态的 2 会话对象中存储了大量
  • 在带有 Protocol Buffers 的项目中使用 Proguard 有什么特点?

    我有一个使用 Google Protocol Buffers 的项目 一旦我尝试用 ProGuard 对其进行混淆 似乎 protobuf 会导致问题 我将所有自己的类打包成mybuildedclasses jar 谷歌代码被打包成prot
  • 拆分/标记化/扫描字符串并注意引号

    Java中是否有默认 简单的方法来分割字符串 但要注意引号或其他符号 例如 给定以下文本 There s a man that live next door in my neighborhood and he gets me down Ob
  • JUNIT 测试 void 方法

    我有一个充满 void 方法的 java 类 我想进行一些单元测试以获得最大的代码覆盖率 例如我有这个方法 protected static void checkifValidElements int arg1 int arg2 metho
  • Java 中 JButton 的击键/热键

    最初我使用 JMenu 并建立热键以使用加速器工作 它运行得很好 现在我想在 JButton 中实现相同的行为 但我陷入困境 这是我编写的代码 请分享您的想法 以便我可以走上正确的道路 import javax swing import j
  • C 与 C++ 中的 JNI 调用不同?

    所以我有以下使用 Java 本机接口的 C 代码 但是我想将其转换为 C 但不知道如何转换 include
  • HTTP 状态 405 - 此 URL java servlet 不支持 HTTP 方法 POST [重复]

    这个问题在这里已经有答案了 我无法使页面正常工作 我有要发布的表单方法和我的 servlet 实现doPost 然而 它不断地向我表明我并不支持POST方法 我只是想做一个简单的网站并将值插入到我的 MySQL 数据库中 type Stat
  • 使用 PC/SC 读卡器验证 Ultralight EV1

    我在尝试使用 Java 中的 PC SC 读卡器 特别是 ACR1222L 验证 Ultralight EV1 卡时遇到问题 我能够使用 ISO 14443 3 标签的相应 APDU 在不受保护的标签上进行写入和读取 但是 我找不到运行 P
  • java.lang.IllegalStateException - 提交响应后无法创建会话

    我在我的项目中使用 JSF PrimeFaces 我为此准备了一个Maven项目 当我编译项目并加载主页后 我收到以下异常 java lang IllegalStateException Cannot create a session af
  • 在实现使用原始类型的接口时如何避免警告?

    我正在实施流程工厂 http help eclipse org ganymede index jsp topic org eclipse platform doc isv reference api org eclipse debug co
  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin

随机推荐

  • 测试助手类的正确位置在哪里? (phpunit/最佳实践)

    我想使用 PHPUnit 测试我的应用程序 所以我像往常一样有我的应用程序类和第二棵带有测试类的树 现在我需要进行一些测试 一种虚拟 模拟对象 我想知道应该将它们放在哪里 它是一个不同的用例 它应该放在公共 lib 文件夹中还是更喜欢什么
  • 如何使用 FirefoxProfile 在 FireFox Selenium Webdriver 中启用 Adob​​e Flash

    我需要一种自动化方法来在 Firefox Selenium Webdriver 中启用 Flash 而无需用户交互 我努力了 FirefoxProfile profile new FirefoxProfile As 0 is to disa
  • Azure 移动应用自定义身份验证

    我正在尝试使用来实现自定义身份验证LoginAsync string provider JObject token MobileServiceClient 的重载 我有一个像这样的自定义身份验证控制器 MobileAppController
  • 如何检查事件是否已存在一天 - fullcalendar

    如何在使用时检查事件是否已经存在一天renderEvent method 我发现可能在堆栈中回答dayClick with clientEvents 我不确定它如何用于renderEvent var diffDay 5 for var i
  • 如何选择博客模型中的最后一个和倒数第二个条目?

    我有一个模型 blog posts 其中有一个字段 published at 我想从该模型中选择最新的两个博客以显示在我的主页上 但不确定如何构建它 目前 我有一个解决方法 可以获取一部分数据 但当我表中没有任何内容时 它会不断失败 而不是
  • ARM架构中不同处理器模式下如何使用内核堆栈?

    据我了解 每个进程都有一个用户堆栈和内核堆栈 除此之外 ARM 架构中的每种模式都有一个堆栈 所以我想知道不同的堆栈和堆栈指针在 ARM 模式下如何工作 另外 何时会使用与进程关联的内核堆栈 何时会使用与进程关联的内核堆栈 当您进行系统调用
  • Python 中枚举的枚举?

    Python 中是否可以有枚举的枚举 例如 我想要 enumA enumB elementA elementB enumC elementC elementD 供我参考elementA as enumA enumB elementA 或参考
  • 设置 GLEW 窗口?

    我有 Visual Studio 2010 我想在其上设置 glew h 我执行了这一步 但仍然出现链接器错误 1 下载glew包 2 将 h文件复制到C Program Files x86 Microsoft SDKs Windows v
  • Parsley.js - 更改错误容器

    我想改变每个错误消息的位置 即在相应的位置显示错误消息 div class errorBlock div 通过使用文档代码 错误消息显示在元素 输入 之前 而不是按预期显示 有任何想法吗 根据文档 errors container func
  • Knex 连接 Heroku Postgres 时出现错误?

    我正在尝试将 Heroku Postgres 与 Knex 连接 它在本地运行良好 但是当我推 Heroku 时 并尝试注册一个帐户 我收到这个错误 code DEPTH ZERO SELF SIGNED CERT 但我推 Heroku 我
  • Windows 服务错误 1053

    我目前正在编写一个 Windows 服务 它连接到 crm 系统以拉下一个计划 然后运行各种数据源等 我已经一切正常 除了当我安装所有内容并尝试运行启动服务时 我收到以下错误 错误 1053 服务未响应启动或控制请求 及时时尚 这是我在 S
  • 在 JavaScript 中,await 是否可以保证执行顺序而不需要赋值?

    主题 我可以说下面的两段代码是相等的吗 await someFunc no assignment here doSomethingAfterSomeFunc and someFunc then gt doSomethingAfterSome
  • 如何在android http POST中添加参数?

    friends 我正在尝试使用以下教程将文件上传到 php 服务器http getablogger blogspot com 2008 01 android how to post file to php server html http
  • 添加带有多个小部件链接的右键单击上下文菜单?

    我的问题是一种后续行动这个问题 https stackoverflow com questions 12014210 python tkinter app adding a right click context menu 23834156
  • 如何使用标准 MVC Core 依赖注入解析未注册类型

    有没有办法得到IServiceProvider GetService
  • 如何在 matplotlib 中的另一个图上添加一个图?

    我有两个包含数据的文件 datafile1 和 datafile2 第一个始终存在 第二个仅有时存在 因此 datafile2 上的数据图被定义为我的 python 脚本中的函数 geom macro 在 datafile1 上的数据绘制代
  • Visual Studio 忽略 try catch - 仅调试

    我认为错误处理是个好主意 调试时它可能会妨碍 特别是对于用户友好的消息 在 VB6 中 我只需选中编译器的一个框即可忽略我的错误处理 我found https stackoverflow com questions 893277 is th
  • Mediator/EventAggregator 差异

    另外 当我需要在松散耦合的对象之间进行通信时 例如 MVVM的 ViewModel 有关最佳编程实践的不同书籍和博客建议使用 Mediator EventAggregator 模式 我的问题是关于这些模式之间的差异 关系 谁能为我描述一下它
  • 张量流自定义运算梯度

    我们想要在张量流中创建一个自定义层 因此 我们决定简单地从一个玩具示例开始 复制层 经过一番尝试和错误后 我们发现梯度似乎会传递正确的值 然而 在第二次迭代中 特征得到了 NAN 这可能是一个简单的错误 但目前我看不到它 总的来说 我有两个
  • 什么 Java 垃圾收集器清理 PermGen?

    垃圾收集者名单 串行GC 并行气相色谱 并行旧GC 浓缩标记扫描GC G1 GC 我知道当您启用 ClassUnloading JVM 选项时 Conc Mark Sweep GC 支持清理 PermGen 其他垃圾收集器是否支持清理 Pe