当前位置: 首页 > 面试题库 >

是否有关于GC问题的食谱指南?

璩华辉
2023-03-14
问题内容

几乎每个人最终都会遇到Java的GC问题。

是否有适用于Java的GC调整指南或半自动工具?

我的理由是:

  • 几乎所有人最终都会遇到这些问题
  • 有很多可能的因素(例如20),其中只有少数因素会影响您的问题。
  • 大多数人不知道如何识别关键因素,因此GC调整更像是一门妖术而不是科学。
  • 并非每个人都使用HotSpot VM。不同的Sun版本具有不同的GC特性。
  • 进行实验的动机很少(例如每天使用略有不同的设置运行虚拟机以查看其运行情况)。

所以问题实际上是:是否可以清单使用?也许甚至是一个分析GC日志或堆转储并为我提供具体提示的工具(而不是告诉我“ 95%的数据分配在类型为byte[]的对象中”,这基本上是没有用的)。


问题答案:

有关各种GC信息的参考:

甲骨文

使用5.0 Java [tm]虚拟机优化垃圾回收

这也

Java SE 6 HotSpot
[tm]虚拟机垃圾收集优化

IBM公司

微调垃圾收集 [链接无效]

可扩展详细工具包

SAP虚拟机

内存管理(垃圾回收)

检测内存泄漏

检测挂起/循环的虚拟机

分析内存不足情况

抱歉,我对SAP不太了解,但是提供了一些我发现的东西。

至于菜谱,调优很可能是特定于此级别的应用程序,但这是一个有趣的话题。

附录



 类似资料:
  • 这是一张食谱,记录了许多 “美味佳肴”: RxRelay RxSwift 5 更新了什么? 纯函数 附加作用 ...

  • 食谱 有助于学习 RxJS 的常见用例和有趣的食谱。 内容 进度条 智能计数器 游戏循环 HTTP 轮询

  • 请求支付 uni.requestPayment() 这个uni.requestPayment的success状态是一个什么样的状态?他肯定不是后台成功的状态吧?怎么来拿到真正的后台支付成功与否的状态?

  • 本文向大家介绍关于JS中的方法是否加括号的问题,包括了关于JS中的方法是否加括号的问题的使用技巧和注意事项,需要的朋友参考一下 在我们js编写程序的时候,我们会写很多函数然后调用它们,那么这些函数调用的时候什么时候加()什么时候不加()?记住以下几个要点。 (1)函数做参数时都不要括号。 (2)函数被调用的时候都要加括号。        看上面那段代码,第9行函数A被调用的时候是A(); (3)函

  • 问题内容: 我看到有一条禁止的附庸制度。 在规则的描述中,它声明了一个add 。 但是,当我查看[MDN 函数docs时,“简单示例”显示了一个示例,其中没有任何说明这可能是性能问题的原因。 如eslint文档所建议的那样,是否存在实际的性能问题? 如果是这样,怎么办? 问题答案: 不,没有任何性能 问题 。这只是不必要的额外操作。执行可能需要更长的时间,但几乎不会引起注意。它类似于而不是整数。或

  • 问题内容: 常量INADDR_ANY是所谓的IPv4通配符地址。通配符IP地址对于在多宿主主机上绑定Internet域套接字的应用程序很有用。如果多宿主主机上的应用程序将套接字仅绑定到其主机的IP地址之一,则该套接字只能接收发送到该IP地址的UDP数据报或TCP连接请求。但是,我们通常希望多宿主主机上的应用程序能够接收指定主机IP地址的数据报或连接请求,并将套接字绑定到通配符IP地址可以实现这一点