需要Java Swing自由内存组件

需要Java Swing自由内存组件,java,swing,components,Java,Swing,Components,我需要类似于EclipseIDE中的Java Swing空闲内存组件。最好是免费和开源的。提前感谢。进一步完善了问题: 不,我不是指垫子。 我的意思是一个简单的内存指示器,你可以在状态栏的MAT屏幕截图上看到 您可以通过以下方式显示它: Preferences - General - Show Heap Status checkbox 因为,它在默认情况下不再显示 从博客条目: 注意:一个更全面的解决方案是eclipse 一个好的基于swing的Java替代方案是: 也可以是 如果您只需要查看

我需要类似于EclipseIDE中的Java Swing空闲内存组件。最好是免费和开源的。提前感谢。

进一步完善了问题:

不,我不是指垫子。 我的意思是一个简单的内存指示器,你可以在状态栏的MAT屏幕截图上看到

您可以通过以下方式显示它:

Preferences - General - Show Heap Status checkbox
因为,它在默认情况下不再显示

从博客条目:

注意:一个更全面的解决方案是eclipse

一个好的基于swing的Java替代方案是:

也可以是


如果您只需要查看应用程序堆的内存使用情况、永久性生成等,但不需要探查器的详细信息,请查看。它与JDK 1.5及更高版本捆绑在一起。

我遇到了一个尚未回答的问题。当我在web上搜索现成的Swing组件以显示JVM内存状态时,现有的两个答案根本没有提供OP要求的内容,而OP也需要这些内容

我什么也没找到,所以我基于JProgressBar构建了一个非常简单的Swing组件。包括革命性的双击垃圾收集功能。与Eclipse组件使用的文本相同。但是使用正确的国际单位制

让它更灵活,使用适当的i18n等,留给读者作为练习

代码如下:

/* *c hubersn软件 *www.hubersn.com * *使用任何你喜欢的,改变任何你想要的。它是免费的! */ 包com.hubersn.playerly.swing; 导入java.awt.*; 导入java.awt.event.*; 导入javax.swing.*; 公共类MemoryPanelProgressBar扩展了JPanel{ 私有最终JProgressBar progressBar=新JProgressBar; 公共内存PanelProgressBar{ 超新流程布局; this.progressBar.setStringPaintedtrue; this.progressBar.setString; 此.progressBar.setMinimum0; 此.progressBar.setMaximum100; this.progressBar.addMouseListenernew MouseAdapter{ @凌驾 public void mouseClickedfinal MouseEvent ev{ 如果ev.getClickCount==2{ System.gc; 使现代化 } } }; addthis.progressBar; 计时器t=新计时器1000,新ActionListener{ @凌驾 公共无效诉讼已执行最终诉讼事件e{ 使现代化 } }; t、 开始; 使现代化 } 私有无效更新{ Runtime jvmRuntime=Runtime.getRuntime; long totalMemory=jvmRuntime.totalMemory; long maxMemory=jvmRuntime.maxMemory; long-usedMemory=totalMemory-jvmRuntime.freemory; long totalMemoryInMebibytes=totalMemory/1024*1024; 长maxMemoryInMebibytes=maxMemory/1024*1024; long-UsedMemoryInMembiBytes=usedMemory/1024*1024; int usedPct=int 100*usedMemory/totalMemory; 字符串textToShow=usedMemoryInMebibytes+MiB of+totalMemoryInMebibytes+MiB; 字符串toolTipToShow=堆大小:+usedMemoryInMebibytes+MiB总计:+totalMemoryInMebibytes+MiB最大值: +maxMemoryInMebibytes+MiB; this.progressBar.setValueusedPct; this.progressBar.setStringtextToShow; this.progressBar.setToolTipTexttoolTipToShow; } }
不,我不是指垫子。我的意思是一个简单的记忆指示器,你可以在状态栏的MAT屏幕截图上看到。只是根据你的评论更新了我的答案