程序、类库、内存

biny237 2010-09-03 05:10:03
我想问一下:
1、程序在刚刚运行时是否就已经把所有的东西(其实不知道他究竟都有什么东西)都放入到内存中?
2、程序运行时,他引用的类库是否也同时被加到内存中?
3、类库中的public函数与static函数在什么时候加到内存中?
4、类库加到内存中时是否将所有包含的东西都加入内存?如果是,是否也就意味着类库包含的类越多,占用内存越大呢?
5、如何能明显看出程序在运行前后内存的变化?
问题比较多,但都是围绕着内存,希望大家耐心一点,谢谢了
...全文
167 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
johndii 2010-09-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 boringame 的回复:]
做.net感觉不需要这些。。。
[/Quote]

就是这样,最求效率去玩C/C++吧。
.net自己的东西占内存的大头。
boringame 2010-09-04
  • 打赏
  • 举报
回复
andy1118 2010-09-04
  • 打赏
  • 举报
回复
释放资源,C#代码演示:
public class FreeResource : IDisposable
{
private bool disposed = false;
public void Dispose()
{
Dispose(true);
}
public void Close()
{
Dispose(true);
}
~FreeResource()
{
Dispose(false);
}
private void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
//释放托管堆上的资源
}
//释放非托管资源
disposed = true;
if (disposing)
{
GC.SuppressFinalize(this);
}
}
}
}
vip__888 2010-09-04
  • 打赏
  • 举报
回复
1.程序只把用到的东西加到内存中。比如你定义一个变量 就把这个变量加到内存。(编译后成IL)
2。用到的类。
3。忽略。
4。用到的类。
5。资源管理器。
cjh200102 2010-09-04
  • 打赏
  • 举报
回复
楼上回答够简洁经典
gomoku 2010-09-03
  • 打赏
  • 举报
回复
很粗略的回答为
1、不会
2、不会
3、这个一般可以忽略
4、一般是这样
5、Task Manager中如果看到内存不断增加则可能有问题。

110,579

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧