您现在的位置: 天极网 > 开发频道 > C++中实现Java的存储管理机制
全文

C++中实现Java的存储管理机制

2003-12-02 10:21作者:出处:论坛责任编辑:方舟
  三、应用例子

  下面的JAVA与C++例子程序执行同样的操作:建立100000个xy类型的对象,保存到一个对象数组中,释放内存废区,如此重复10次,在结束时显示各自运行的时间。这个例子可以帮助读者了解两种语言的差异。

  1、JAVA程序如下:

public class xy //一个简单的数据类
{
int x, y;
}

public class TestTime {
static int OBJECTS=100000;
static int CHECKTIMES=10;
public static void main(String[] args) {
xy[] obj=new xy[OBJECTS];
long start, end;
long total=0, max=0, min=OBJECTS*CHECKTIMES, time;
System.out.print("PROGRESS: ");
for (int j=0;j<CHECKTIMES;j++) {
System.out.print(".");
start=System.currentTimeMillis();
for (int i=0;i<OBJECTS;i++) obj[i]=new xy();
if (j>0) System.gc(); //从第二次循环开始强制回收内存废区
end=System.currentTimeMillis();
time=end-start;
total+=time;
if (time<min) min=time;
if (time>max) max=time;
}
System.out.print("FINISHED!\r\n Minimum time in 1 check: "+min+" Milliseconds");
System.out.print("\r\n Maximum time in 1 check: "+max+" Milliseconds");
System.out.print("\r\n Average time in 1 check: "+total/CHECKTIMES+" Milliseconds");
System.out.print("\r\n Total time in "+CHECKTIMES+" checks: "+total+" Milliseconds");
}
}

  2、使用Agent类后的C++程序:

#include "stdio.h"
#include "time.h"
#include "Agent.h"

#define OBJECTS 100000
#define CHECKTIMES 10

class xy //一个简单的数据类
{
int x,y;
};

void main() {
Agent<xy> obj[OBJECTS]; //数组自动创建,不须使用new
clock_t start, end;
unsigned long total=0, max=0, min=-1, time;
printf("PROGRESS: ");
for (int j=0;j<CHECKTIMES;j++) {
printf(".");
start=clock();
for (int i=0;i<OBJECTS;i++)
obj[i]=new Agent<xy>; //operator new和构造函数被调用,创建Marrow
//对象被重新赋值时自动释放,不须像System.gc()这样的语句强制实施
end=clock();
time=(end-start)*1000/CLOCKS_PER_SEC;
total+=time;
if (time<min) min=time;
if (time>max) max=time;
}
printf("FINISHED!\r\n Minimum time in 1 check: %d Milliseconds", min);
printf("\r\n Maximum time in 1 check: %d Milliseconds", max);
printf("\r\n Average time in 1 check: %d Milliseconds", total/CHECKTIMES);
printf("\r\n Total time in %d checks: %d Milliseconds", CHECKTIMES, total);
}

  程序运行结果:



共4页。 9 1 2 3 4 :

软件资讯·软件下载尽在天极软件

相关搜索:
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众