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

如何查看应用程序正在使用的当前堆大小?

吴均
2023-03-14
问题内容

我想在NetBeans中将堆大小增加到1 GB,因为我将配置更改为如下所示:

netbeans_default_options="-J-Xmx1g ......

重新启动NetBeans之后,可以确定我的应用程序现在有1 GB的空间吗?

有没有办法验证这一点?


问题答案:

使用此代码

// Get current size of heap in bytes
long heapSize = Runtime.getRuntime().totalMemory();

// Get maximum size of heap in bytes. The heap cannot grow beyond this size.// Any attempt will result in an OutOfMemoryException.
long heapMaxSize = Runtime.getRuntime().maxMemory();

 // Get amount of free memory within the heap in bytes. This size will increase // after garbage collection and decrease as new objects are created.
long heapFreeSize = Runtime.getRuntime().freeMemory();

知道这一点对我很有用。



 类似资料:
  • 问题内容: 我可以在路径 上看到所有hadoop日志 但是我在哪里可以看到应用程序级别的日志?例如 : 映射器 reducer.py 我在哪里可以看到我的应用程序或相关的日志语句? 我正在使用 谢谢 问题答案: Hadoop流使用STDIN / STDOUT 在映射器和化简器之间传递键/值对,因此必须将日志消息写入特定的日志文件- 有关更多详细信息,请查看示例代码和python日志记录文档。该查询

  • 问题内容: 我正在研究非常庞大的基于Java Web的应用程序。由于在开发过程中没有完成正确的日志记录,因此我很难设置断点并调试应用程序,因为我不知道执行顺序。在执行一些操作之后,是否有任何机制可以获取正在运行的Java应用程序的完整调用堆栈。 我在网上搜索了很长时间,但无法找到具体的解决方案。如果有东西请给我建议。谢谢 问题答案: 方法1:从命令行使用Jstack实用程序(JDK发行版的一部分)

  • 我正在运行Apache Ignite应用程序。当我看到使用linux的内存使用时,我得到的使用内存为9.8GB。但是当我使用eclipse MAT进行堆转储时,它的大小只有大约1.8GB。为什么会这样?ignite中分配的默认堆内存为21 GB。我也没有做任何GC调优。

  • 问题内容: 我是Android的新手。我正在开发必须获取有关当前在前台运行的应用程序的信息的应用程序。 这意味着,如果用户启动任何应用程序,则在我的应用程序不应中断已启动的应用程序时,我的应用程序应捕获已启动的应用程序信息。 示例:如果用户启动浏览器应用程序,则我的应用程序应在日志上打印浏览器应用程序信息。 我怎样才能做到这一点? 问题答案: 有方法。似乎是你正在寻找的解决方案。

  • 我阅读了其他帖子但无法重现。那么如何在调试调用堆栈期间查看哪个方法调用了最近的方法呢?

  • 问题内容: 我需要构建一个Android应用程序,使您可以在我的应用程序内部查看网页。我需要这不是在浏览器中,而是在我的应用中。我找到了页面加载时的答案和一些选项。我想当然要在测试之后分享我在这里找到的信息..... 问题答案: 首先需要向清单添加INTERNET权限。 然后,使用WebView类显示网页。首先,创建一个包含Web视图的布局: 在您的“活动”(可能是onCreate)中,使用您创建