Java堆转储dump文件的几种方法

Java堆转储dump文件的几种方法

jvm 3年前 (2020-12-18) 浏览: 1368 评论: 0

在本文中,我们将展示用Java捕获堆转储的不同方法。 堆转储是JVM内存中某一时刻所有对象的快照。它们对于解决内存泄漏问题和优化Java应用程序中的内存使用非常有用。 堆文件通常以二进制格式存储。我们可以使用jhat或JVisualVM之类的工具打开和分析这些文件。另外,对于Eclipse用户来说,使用MAT是非常常见的。 下面我们将介绍生成堆转储的多种工具和方法,并将展示它们之间的主要区别。 J

你不知道的java.lang.OutOfMemory错误类型!

你不知道的java.lang.OutOfMemory错误类型!

jvm 3年前 (2021-01-18) 浏览: 1336 评论: 0

没有什么错误比java.lang.OutOfMemory更让人头疼的了。当这种情况发生时,您的应用程序将运行到一个非常不可预知的状态,经常挂断并且不处理新的请求,在用户浏览器中抛出难看的堆栈跟踪等。最流行的(短期内有效的)修复OutOfMemory错误的方法就是重新启动应用程序或应用程序服务器。 虽然java堆耗尽是最常见的OutOfMemory错误,但确实有其他几种类型的OutOfMemory可

内存泄露

内存泄露

jvm 3年前 (2020-11-27) 浏览: 453 评论: 0

java.lang.OutOfMemoryError: Java heap space Java应用程序只允许使用有限的内存。此限制在应用程序启动期间指定。为了使事情更复杂,Java内存被分成两个不同的区域。这些区域称为永久生成区域(permgene和Permgen): 这些区域的大小是在Java虚拟机(JVM)启动期间设置的,可以通过指定JVM参数-Xmx和-XX:MaxPermSize进行定制

Java代码中的内存泄漏

Java代码中的内存泄漏

jvm 3年前 (2020-12-29) 浏览: 348 评论: 0

我正在研究我继承的一些Java代码。我正在关键的地方做一些速度改进,为了测试我的改进,我需要测试用例来比较不同的实现。不幸的是,手动生成测试用例太耗时了(需要数千个,手动生成一个测试用例需要几分钟甚至几个小时)。不幸的是,随机生成的测试用例也不起作用,因为我的测试用例是(命题的)LTL公式,并且随机生成的一个我期望在实际使用程序时出现的大小,是不太可能令人满意的,而现实生活中的公式是期望的,这在一

JIT优化之循环展开

JIT优化之循环展开

jvm 2年前 (2022-03-02) 浏览: 735 评论: 0

在本文中,我们将讨论一种自动优化,称为循环展开。JIT编译器使用这种技术使循环(例如Java的for或while循环)执行得更快。 因为我们将在这里深入研究JVM,为了便于演示,您有时会遇到C代码,甚至是一些汇编语言,所以请不要着急! 让我们首先考虑以下一段C代码,它为100万个long分配空间,并用100万个long随机数填充空间: int main(int argv, char** argc)

登录

忘记密码 ?

切换登录

注册