社区
C#
帖子详情
问一个简单问题:如何统计一个程序中正在使用的所有对象总数
runrunrun
2003-01-30 01:41:50
我想在性能测试时,这是一个很重要的指标。但又不知如何获取。
在垃圾收集时,应该有这个统计吧。
...全文
23
13
打赏
收藏
问一个简单问题:如何统计一个程序中正在使用的所有对象总数
我想在性能测试时,这是一个很重要的指标。但又不知如何获取。 在垃圾收集时,应该有这个统计吧。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aspcn
2003-05-04
打赏
举报
回复
我靠,这贴还没有结啊.
针对于.Net的性能分析工具是有的..我在公司就用的是,不过名字太长,忘记了...
用了这么久还不错的说.
qqchen79
2003-02-15
打赏
举报
回复
http://msdn.microsoft.com/msdnmag/issues/01/12/hood/default.aspx
C++里面通过COM编程调用,如果在C#里面做,可能会把人累死。
runrunrun
2003-02-14
打赏
举报
回复
to qqchen79(知秋一叶 )
你说的东西我怎么找不到呀
runrunrun
2003-02-01
打赏
举报
回复
有什么专业的工具啊, 我知道的工具都是针对VC6的
aspcn
2003-02-01
打赏
举报
回复
如果你是为测试性能所用,你就用专业的工具吧。
查这个还不是小Case。
runrunrun
2003-02-01
打赏
举报
回复
谢谢qqchen79,过完年回单位我再试一试。
我的对象要是和GC里的一样多就好了,就算是人家不要的,总比没有强啊,哈
mikespook
2003-02-01
打赏
举报
回复
啊,啊,明白了~~~
哈哈,我看啊,是特别有情调。遍历整个GC Heap~~哈哈~~~放假了也不让机器闲着~~
qqchen79
2003-02-01
打赏
举报
回复
大过年的,在这里数对象,太没情调了。:)
qqchen79
2003-02-01
打赏
举报
回复
可以,但不容易。
.NET Framework提供了很多Performance Counter,但是没有统计对象个数的(因为这样一个总数对性能调试意义不大,对象大小不同)。相对来说,当前占用的内存总数要重要的多。而且统计对象总数需要遍历整个GC Heap,新能损失很大。
如果要实现的话,有两种方法,但都要用到.NET Profiling API.
1) 启动的时候注册ObjectAllocated事件,统计对象分配。并且在每次GC的时候更新对象总数。
2) 可以通过RootReference函数获得当前的RootReference对象,然后用ObjectReferences函数遍历整个GC Heap,统计对象。(这样所有尚未能GC的对象就不再统计当中了)。
两种方法都有一些误差,主要是如何处理已经没有用,但尚未GC的对象。
runrunrun
2003-01-31
打赏
举报
回复
在C++里也许不可能,但是在C#里肯定是可以的。垃圾收集器的原理就是这样子的:把所有的对象浏览一遍,没有被引用即被回收。我想计一个数应该很简单吧(对框架而言)。
mikespook
2003-01-30
打赏
举报
回复
所有对象?总数?这个恐怕不可能吧?如果是自己声明的一个类。然后判断属于这个类的对象的总数倒是有办法~
runrunrun
2003-01-30
打赏
举报
回复
高手都回家过年了吗
runrunrun
2003-01-30
打赏
举报
回复
UP
编写
一个
简单
的
程序
,实现以下功能:
统计
文本文件
中
出现的单词的个数
(1)创建
程序
人口
对象
。例如,创建SparkSession的
对象
。 (2)读人数据并转换为RDD。 (3)RDD计算。 (4)RDD遍历输出。 import java.util.Arrays; import java.util.regex.Pattern; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.sql.SparkSe.
C#
程序
设计——面向
对象
编程基础,设计
一个
Windows应用
程序
,模拟
一个
简单
的银行账户管理系统。实现创建账户、取款、存款和查询余额的模拟操作。
设计
一个
Windows应用
程序
,模拟
一个
简单
的银行账户管理系统。实现创建账户、取款、存款和查询余额的模拟操作。界面如图3-1、3-2、3-3、3-4所示。具体要求如下: (1)设计一下账户类(Account)包含以下数据信息:卡号(creditNo)、余额(balance)等。 (2)当单击“创建账户”按钮时,显示如图3-1所示信息,其
中
卡号为随机生成的
一个
在100000-499999的
一个
值,余额初始化为100元。 (3)在“取款”文本框
中
输入取款金额后,单击“取款”按钮,显示如图3-2所示的信息。如
用C# 设计
一个
Windows应用
程序
,在该
程序
中
首先构造
一个
学生基本类,再分别构造小学生、
中
学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、
中
学生、大学生)将分别创建不同的学生
对象
,
1.题目要求如下: 用C# 设计
一个
Windows应用
程序
,在该
程序
中
首先构造
一个
学生基本类,再分别构造小学生、
中
学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、
中
学生、大学生)将分别创建不同的学生
对象
,并输出当前学生总人数,该学生的姓名、学生类型和平均成绩。 如下图所示,要求如下: (1)每个学生都要姓名和年龄。 (2)小学生有语文、数学成绩。 (3)
中
学生有语文、数学和英语成绩 (4)大学生有必修课学分
总数
和选修课学分
总数
,不包含单科成绩。 (5)学生类提供...
Java面向
对象
程序
设计(OOP)
1、面向
对象
程序
设计(OOP) 1.1、面向过程&面向
对象
面向过程思想 步骤清晰
简单
,第一步做什么,第二步做什么…(线性思维) 面向过程适合处理一些较为
简单
的
问
题
面向
对象
编程 物以类聚,分类的思维模式,思考
问
题
首先会解决
问
题
需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。 面向
对象
适合处理复杂的
问
题
,适合处理需要多人协作的
问
题
! 对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要
使用
面向
对象
的思路来分析整个系统。但是,具体到微观操作
Java练习案例之输入
一个
字符串
统计
每个字母出现次数
Java小案例:输入
一个
字符串,要求
统计
字符串
中
每个字符串出现的次数需求:结果预览:思路:原码: 需求: 键盘录入
一个
字符串,要求
统计
字符串
中
每个字符串出现的次数。 举例:键盘录入“aababcabcdabcde” 在控制台输出:“a(5)b(4)c(3)d(2)e(1)" 结果预览: 思路: 1 :键盘录入
一个
字符串 2:创建HashMap集合,键是character,值是Integer 3:遍历字符串,得到每
一个
字符 4 :拿得到的每
一个
字符作为键到HashMap集合
中
去找对应的值,看其返回值 如果返
C#
110,536
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章