服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java程序实现监视----java程序内存使用情况!


=========================================
package myprojects.jmemorydemo;

import javax.swing.uimanager;
import java.awt.*;


public class jmemorydemo {
private boolean packframe = false;


public jmemorydemo() {
mainframe frame = new mainframe();

if (packframe) {
frame.pack();
}
else {
frame.validate();
}

dimension screensize = toolkit.getdefaulttoolkit().getscreensize();
dimension framesize = frame.getsize();
if (framesize.height > screensize.height) {
framesize.height = screensize.height;
}
if (framesize.width > screensize.width) {
framesize.width = screensize.width;
}
frame.setlocation((screensize.width - framesize.width) / 2, (screensize.height - framesize.height)
/ 2);
frame.setvisible(true);
}

public static void main(string[] args)
{
new jmemorydemo();
}
}

===================================================
package myprojects.jmemorydemo;
import javax.swing.*;



public class progressthread extends thread {
jprogressbar pbar;
jlabel label;

public progressthread(jprogressbar pbar,jlabel label) {
this.pbar=pbar;
this.label=label;
}
public void run() {


int min=0;
int max=100;
int free=0;
int totle=0;
int status=0;

pbar.setminimum(min);
pbar.setmaximum(max);
pbar.setvalue(status);
while(true){
try{
totle=(int)(runtime.getruntime().totalmemory()/1024);
free=(int)(runtime.getruntime().freememory()/1024);
}catch(exception e){
e.printstacktrace();
}
label.settext("free memory :"+(int)(runtime.getruntime().freememory()/1024)+"k"+" totle memory allo
cated :"
+(int)(runtime.getruntime().totalmemory()/1024)+"k");
status=(int)(free*100/totle);
pbar.setvalue(status);
pbar.setstring("free momery "+ status+"%");
try{
this.sleep(1000);
}catch(interruptedexception err){}
}

}

}


===============================================
package myprojects.jmemorydemo;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;



public class mainframe extends jframe {
private jpanel contentpane;
private borderlayout borderlayout1 = new borderlayout();
private jprogressbar jprogressbar1 = new jprogressbar();
private jlabel jlabel1 = new jlabel();
private jlabel jlabel2 = new jlabel();


public mainframe() {
enableevents(awtevent.window_event_mask);
try {
jbinit();
}
catch(exception e) {
e.printstacktrace();
}
}

private void jbinit() throws exception {
(mainframe.class.getresource("[your icon]")));
contentpane = (jpanel) this.getcontentpane();
contentpane.setlayout(borderlayout1);
this.setsize(new dimension(304, 215));
this.settitle("jmemorydemo");
jlabel1.setfont(new java.awt.font("dialog", 0, 14));
jlabel1.sethorizontalalignment(swingconstants.center);
jlabel1.settext("memory monitor");
jprogressbar1.setorientation(jprogressbar.vertical);
jprogressbar1.setfont(new java.awt.font("dialog", 0, 14));
jprogressbar1.settooltiptext("");
jprogressbar1.setstringpainted(true);
jlabel2.setfont(new java.awt.font("dialog", 0, 14));
jlabel2.settext("");
contentpane.add(jprogressbar1, borderlayout.center);
contentpane.add(jlabel1, borderlayout.north);
contentpane.add(jlabel2, borderlayout.south);

progressthread pthread = new progressthread(this.jprogressbar1,this.jlabel2);
pthread.start();
}

protected void processwindowevent(windowevent e) {
super.processwindowevent(e);
if (e.getid() == windowevent.window_closing) {
system.exit(0);
}
}
}
======================================================================
提示如下:
======================================================================
问题的关键:
totle=(int)(runtime.getruntime().totalmemory()/1024);
free=(int)(runtime.getruntime().freememory()/1024);
===================================================
有什么问题,可以发email:dw5189@163.com
========================================
========================================
========================================


提供最新版的jcreator pro build 3.00.094

http://www.jcreator.com/download.htm

username: p145460-brian luke

key: 00he3t-mx6f41-7e9cfn-68745a-rd1paj-0gkkpp-yyjvdr-cxjxhg-6gfxx8
========================================
========================================
========================================


提供jcreator pro build 2.50序列号:

注册码:
etalking
niit
p-etalking niit
36336-27630-63362-56226-23628

扫描关注微信公众号