Tag: 记忆

Java – OutOfMemoryError:PermGen空间

我正在开发一个工具,允许我通过访问我也创建的网站从任何软件获取统计数据。 对于那些不知道的人,Birt是一个报告工具和一个eclipse插件。 我的问题如下: 我在托管我网站的服务器上安装了tomcat,并在其上安装了Birt ReportEngine,在我的网站上,我打电话给在线查看器来获取我的报告。 问题是,从昨天起,当我发布报告时,我有这样的错误: javax.servlet.ServletException: L’exécution de la servlet a lancé une exception org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68) 引起: java.lang.OutOfMemoryError: PermGen space 我真的不知道要修改哪个配置文件以避免此错误。 我在网上发现了一些修改eclipse.ini文件的例子,但对于mty网站,我没有使用eclipse,我没有找到任何有用的post。 有人能帮助我吗 ? 谢谢

ArrayList的内存分配如何工作?

据我所知,当我们创建一个ArrayList : ArrayList list = new ArrayList(SIZE); JVM为它保留了连续的内存部分 。 当我们在列表中添加新元素时,当元素数量达到SIZE 75%时,它会保留一个新的,连续的内存部分并复制所有元素。 我们的名单越来越大。 我们正在添加新对象,并且必须再次重建列表。 现在发生了什么? JVM正在寻找一个连续的内存段,但它找不到足够的空间。 垃圾收集器可以尝试删除一些未使用的引用和碎片整理内存。 如果JVM在此过程之后无法为新的列表实例保留空间,会发生什么? 它是否使用最大可能的段创建一个新的? 将抛出哪个Exception ? 我读了这个问题Java:ArrayList如何管理内存 ,其中一个答案是: 参考不会占用太多空间。 但无论如何,使用了一些空间。 当数组越来越大时,可能会出现问题。 我们也不能忘记我们还有另外一些使用内存空间的东西。

Java:ArrayList如何管理内存

在我的Data Structures类中,我们研究了Java ArrayList类,以及当用户添加更多元素时它如何增长底层数组。 这是明白的。 但是,当从列表中删除大量元素时,我无法弄清楚这个类究竟是如何释放内存的。 查看源代码,有三种方法可以删除元素: public E remove(int index) { RangeCheck(index); modCount++; E oldValue = (E) elementData[index]; int numMoved = size – index – 1; if (numMoved > 0) System.arraycopy(elementData, index+1, elementData, index, numMoved); elementData[–size] = null; // Let gc do its work return oldValue; } public boolean remove(Object o) { if (o == […]

ant内存不足

我正在尝试运行ant任务,但是我收到以下错误: [javadoc] javadoc: error – java.lang.OutOfMemoryError: Please increase memory. [javadoc] For example, on the Sun Classic or HotSpot VMs, add the option -J-Xmx [javadoc] such as -J-Xmx32m. [javadoc] 1 error [javadoc] 103 warnings 我已经尝试使用谷歌搜索来了解如何设置此值,但我找不到它。 我努力了 我努力了 export ANT_OPTS=-Xmx256m 但我仍然得到同样的例外。 我试图将值增加到1024米,但任何成功 更新 我解决了 它与小记忆毫无关系。 在我的javadoc一代中,它是一个不可思议的循环。

如何在Windows上使用JNA操作Java内存

如何操纵Java的内存? 我知道Java在它自己的JVM中运行,因此无法直接访问进程内存。 我听说过JNA可以用来获取操作系统和我的Java代码之间的接口。 假设我想操纵纸牌的得分。 尝试将是这样的: 得到纸牌的过程 获得纸牌记忆 找出分数存储在内存中的位置 在地址中写下我的新值 Java本身无法访问该内存,因此如何使用JNA执行此操作?

java.util.Date对象使用多少字节的内存?

我需要存储大量的日期(可能足够大,以至于所使用的堆空间量是一个问题所以请不要过早优化的讲座),我想知道使用某种原始表示是否有意义java.util.Date(或其他一些现有的Date类)。 我知道我可以做一些分析来试一试,但有没有人知道单个Date对象使用的内存的确切字节数?