当前位置: 首页 > 知识库问答 >
问题:

Java应用程序中的分配字节

姬俊远
2023-03-14

有没有办法找到Java应用程序中分配了多少字节?如果可能,在不更改代码的情况下?谢谢

共有2个答案

平山
2023-03-14

您可以在java.lang.Runtime[1]类或(更复杂的)JMX[2]

[1] http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html
[2]https://docs.oracle.com/javase/tutorial/jmx/overview/javavm.html

宁卓
2023-03-14

例如,来自这篇文章:Java单元测试:如何测量方法调用的内存占用

运行时。getRuntime()。freeMemory();

Runtime.get运行时。

 类似资料:
  • 我知道Java中内存分配的基本原理——应用程序占用的大部分内存都分配在堆上,堆由所有线程共享,因此没有线程拥有对象的概念,您无法轻松计算线程使用它拥有的所有对象占用了多少内存。 但我想知道是否有任何方法可以计算和汇总从特定线程触发的分配?内存分配发生在堆上,但它总是由想要创建对象的线程触发,所以我想知道是否可以以某种方式分析这种关系? 我的想法是,一个典型的Spring Boot应用程序将引导,从

  • 问题内容: 我想使用Java 8的新引入的函数对象将一些参数部分地应用于传统方法。 这是有问题的方法: 问题答案: 这实现了我想做的事情: 有关Java函数对象的所有预定义变体的列表,请在此处查看。 编辑: 如果您的方法带有很多参数,则可以编写自己的函数: 方法接受很多参数;您想提供其中一些: 这是使用自定义函数对象的方式:

  • 我知道Java中内存分配的基本原理-应用程序占用的大部分内存都是在堆上分配的,堆由所有线程共享,因此没有线程拥有的对象的概念,并且您无法轻松计算线程拥有的所有对象占用了多少内存。 但我想知道是否有任何方法可以计算和汇总从特定线程触发的分配?内存分配发生在堆上,但它总是由想要创建对象的线程触发,所以我想知道是否可以以某种方式分析这种关系? 我的想法是,一个典型的Spring Boot应用程序将引导,

  • 我试图在一个sails应用程序中正确地创建一个angular2应用程序。 我希望AngularApp在 /management网址下运行 我所做的: 创建ManagementController。js: 在“视图/角度/角度开始”下创建视图。ejs 正在加载... 创建了一个文件夹“资产/管理”,我的angular应用程序将位于该文件夹中 已创建资产/管理/应用程序文件夹 添加到副本中。js: g

  • 问题内容: 我正在寻找Eclipse的 Java应用程序中的瓶颈。我认为这可能有用: http://www.eclipse.org/projects/project_summary.php?projectid=tptp.performance 还有其他好用的插件吗? 编辑 OK,不一定必须是Eclipse插件。但这会很好。而且,我对速度最感兴趣。 问题答案: 如果可以,请在Sun Java 6 J