Tag: 内存

制作java应用程序的“内存转储”?

我有Java应用程序,不幸的是,它在一段时间后开始消耗相当大的内存。 更复杂的是,它不仅是Java应用程序,它也是JavaFX 2应用程序。 我怀疑有一些内存泄漏,甚至可能在底层的JavaFX调用和本机库中。 理想的解决方案是在某个时刻获取所有java对象的转储(使用它们的内存),然后分析该转储。 有没有办法实现这个目标?

在循环中创建新对象的效率

我不确定这个问题是否与语言无关,所以我只是将其视为一个Java问题。 如果你有像这样的循环 for (int i = 0; i < 9; i++) { Object obj = new Object; // fill object // do something with data } 是否通过循环的每次迭代都创建了内存中的新空间? 如果是这样,旧空间是否被处理? 如果没有,做这样的事情会更有效率 Object obj = new Object; for (int i = 0; i < 9; i++) { // fill object // do something with data } 编辑:更新代码以更好地举例说明问题

拿屏幕并保存android

我是一个非常新的Android开发人员,对java有基本的了解。 我承担了一个大型项目,我遇到了一个似乎无法修复的问题。 基本上我的问题有三个不同的部分: 我需要截取我的布局截图。 我不能只使用内置的截图function,它需要在按下按钮时完成。 然后我需要裁剪图片,使图片只是一个ImageView和它上面的TextView 。 (除非有更简单的方法可以做到这一点?) 最后,我需要将裁剪的图片保存到某种内存中,无论是SD卡,设备内存还是图库(不是更好)。 非常感谢任何帮助,非常感谢 这是我的xml代码

多个JVM进程可以共享公共类的内存吗?

我想在我的Web服务器上运行多个Java进程,每个Web应用程序一个。 我正在使用一个Web框架(Play),它有很多支持类和jar文件,Java进程使用大量内存。 One Play过程显示大约225MB的“驻留私人”内存。 (我在Mac OS X上使用Java 1.7.0_05进行测试。)特定于应用程序的代码可能只有几MB。 我知道典型的Java Web应用程序是添加到一个服务器进程(Tomcat等)的jar,但看起来运行Play的标准方法是作为独立的应用程序/进程。 如果这些是C程序,那么200MB的大部分将是共享库,而不是在每个应用程序中重复。 有没有办法在Java中实现这一点? 我看到一些关于类数据共享的页面,但这似乎只适用于核心运行时类。

如何监视JVM或Eclipse中的线程数和内存使用量?

我想监视内存使用情况和线程,我该怎么做Eclipse或JVM? 谢谢。

为什么这个Java程序占用了这么多内存?

我有一小段代码每隔五分钟拍摄一次我的桌面截图 – 这是一段时间的工作,可以轻松思考并计算出多少截图,比如facebook … 然而,我对它占用的内存量感到有点困惑 – 通常它会爬升到200mb的RAM,我确信这是多余的……任何人都可以告诉我一个合理的方法来减少内存占用或b)为什么它会上升? /** * Code modified from code given in http://whileonefork.blogspot.co.uk/2011/02/java-multi-monitor-screenshots.html following a SE question at * http://stackoverflow.com/questions/10042086/screen-capture-in-java-not-capturing-whole-screen and then modified by a code review at http://codereview.stackexchange.com/questions/10783/java-screengrab */ package com.tmc.personal; import java.awt.AWTException; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Rectangle; import java.awt.Robot; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; […]

在Java中为一个Integer对象分配了多少内存? 如何找出任何自定义对象的这个值?

测量堆中的内存应该用于创建某种类型的新对象的正确方法是什么(让我们谈谈Integers以保持简单)? 没有实验可以计算出这个值吗? 那种情况下的规则是什么? 这些规则是在某处严格规定的还是从jvm到jvm不等?

JVM是否在不再需要时向操作系统提供可用内存?

我有一个应用程序暂时需要一些特定的内存/堆用于某些进程。 给定JVM作为选项的最大堆大小的合理值,JVM从一个小堆开始,并根据需要从OS请求更多内存。 我的问题是,如果我的应用程序不再需要大量内存,那么JVM会向操作系统返回额外的内存(例如,用于其他进程)。 目前我的应用程序似乎永远保留了内存,即使不再需要它。

如何从Java程序中获取JVM的最小和最大堆大小设置

如何从Java程序中获取VM的最小和最大堆大小设置?

是JVM在执行jmap时停止了吗?

当jmap进行内存转储时,我的java应用程序是否继续运行? 谢谢