Revision: 3798 http://vexi.svn.sourceforge.net/vexi/?rev=3798&view=rev Author: jeffbuhrt Date: 2010-02-10 22:25:09 +0000 (Wed, 10 Feb 2010)
Log Message: ----------- Added button to display Java Heap information Modified Paths: -------------- trunk/core/org.vexi.devl/src/org/vexi/instrument/memory/Memory.java Modified: trunk/core/org.vexi.devl/src/org/vexi/instrument/memory/Memory.java =================================================================== --- trunk/core/org.vexi.devl/src/org/vexi/instrument/memory/Memory.java 2010-02-10 02:59:37 UTC (rev 3797) +++ trunk/core/org.vexi.devl/src/org/vexi/instrument/memory/Memory.java 2010-02-10 22:25:09 UTC (rev 3798) @@ -1,15 +1,26 @@ package org.vexi.instrument.memory; -import java.awt.*; -import java.awt.event.*; -import java.lang.ref.*; -import java.util.*; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.lang.ref.Reference; +import java.lang.ref.SoftReference; +import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; import java.util.List; +import java.util.Map; -import javax.swing.*; +import javax.swing.JButton; +import javax.swing.JFrame; -import org.ibex.js.*; -import org.ibex.util.*; +import org.ibex.js.Instr; +import org.ibex.js.JS; +import org.ibex.js.JSExn; +import org.ibex.js.JSU; +import org.ibex.util.Basket; import org.vexi.util.Log; // FIXME - move devl js implementation out of here @@ -179,23 +190,39 @@ } }); - JButton button3 = new JButton("GC"); + JButton button3 = new JButton("Memory Use"); button3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { + Runtime r = Runtime.getRuntime(); + + long freeMem = r.freeMemory() / 1024; + long maxMem = r.maxMemory() / 1024; + long totalMem = r.totalMemory() / 1024; + + System.out.println("Memory Use " + + NumberFormat.getInstance().format(maxMem).toString() + "KB Maximum, " + + NumberFormat.getInstance().format(totalMem).toString() + "KB InUse, " + + NumberFormat.getInstance().format(freeMem).toString() + "KB Free"); + } + }); + + JButton button4 = new JButton("GC"); + button4.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent e) { System.gc(); System.runFinalization(); } }); - JButton button4 = new JButton("Assert GC"); - button4.addActionListener(new ActionListener(){ + JButton button5 = new JButton("Assert GC"); + button5.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { assertCollection(); } }); - JButton button5 = new JButton("Reset MARKER"); - button5.addActionListener(new ActionListener(){ + JButton button6 = new JButton("Reset MARKER"); + button6.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { MARKER=new Marker(); } @@ -206,7 +233,8 @@ frame.add(button3); frame.add(button4); frame.add(button5); - frame.setSize(100,200); + frame.add(button6); + frame.setSize(100,220); frame.setVisible(true); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ Vexi-svn mailing list Vexi-svn@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vexi-svn