问题列表 - 第12683页

了解.NET GC和OutOfMemory异常

我正在对我的.NET 2.0 Windows服务应用程序中的OutOfMemory异常进行故障排除.为了更好地理解这个问题,我首先编写了一个简单的.NET WinForm测试应用程序,该应用程序通过构建ArrayList来生成OOM异常,直到抛出OOM异常为止.捕获并记录异常,我可以单击表单按钮再次运行OOME.我发现的奇怪的事情是在第4次运行时,在下一个OOME之前消耗的内存量大约是一半.每次运行时,下面列出的结果都是一致的.Eyeballing TaskManager也确认了这一行为.不幸的是,当试图获得更好的统计数据时,Perfmon冻结了.有人可以解释为什么3次运行后内存限制会降低吗?我对GC的理解相当浅薄.您还可以看到我在多次运行后运行GC.Collect(),但它没有帮助降低限制.

更新:我还发现使用const字符串与每个arraylist项目的新对象有很大的不同.代码很简单:

const string TEST_TEXT = "xxxxxxxxxx";
ArrayList list = new ArrayList();
while (true)
{
    list.Add(TEST_TEXT);
}
Run Code Online (Sandbox Code Playgroud)

启动循环:内存10,350,592

  • 抛出OOM异常
  • 数组大小:134,217,728

结束循环:存储器550,408,192

启动循环:内存550,731,776

  • 抛出OOM异常
  • 数组大小:134,217,728

结束循环:内存551,682,048

启动循环:内存551,813,120

  • 抛出OOM异常
  • 数组大小:134,217,728

结束循环:内存551,772,160

启动循环:内存551,903,232

  • 抛出OOM异常
  • 数组大小:67,108,864

结束循环:内存282,869,760

启动循环:内存283,004,928

  • 抛出OOM异常
  • 数组大小:67,108,864

结束循环:内存282,910,720

GC.Collect手动触发

Start Loop:内存14,245,888

  • 抛出OOM异常
  • 数组大小:67,108,864

结束循环:内存283,344,896

.net garbage-collection out-of-memory

4
推荐指数
1
解决办法
1444
查看次数

PHP的简单(r)ORM

什么是PHP 最简单的 ORM实现?我正在寻找一些非常简单和轻松的东西(就LOC而言,速度并不重要,我不需要缓存,什么不是),最好是单个文件或类包,它不依赖于XML或其他配置文件而且它易于部署.

阅读其他类似的问题Pork.dbObject(顺便说一句是由SO用户之一开发的)是我到目前为止最接近的,我有兴趣知道是否还有其他ORM实现可能比这个更轻.

php orm

10
推荐指数
1
解决办法
6654
查看次数

一个扇区的2D边界框?

我用谷歌搜索直到我脸色发青,除非我遗漏了一些非常明显的东西,否则我找不到任何算法来计算2D扇区的边界框.

给定封闭圆的中心点,半径和扇区范围的角度,计算该扇区的轴对齐边界矩形的最佳算法是什么?

algorithm geometry

10
推荐指数
3
解决办法
4583
查看次数

c#创建thead和tbody

谁能告诉我如何在我的c#代码中动态创建thead tbody标签?

private void MakeTable()
{
    Table tb = new Table();
    TableRow tr = new TableRow();
    TableCell td = new TableCell();
    td.Text="hello world";
    tr.Cells.Add(td);
    tb.Rows.Add(tr);
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c# vb.net web-applications html-table

7
推荐指数
2
解决办法
1万
查看次数

php:从字符串中删除括号/内容?

如果我有这样的字符串:

$str = "blah blah blah (a) (b) blah blah blah";
Run Code Online (Sandbox Code Playgroud)

我如何正则表达式输出是:

$str = "blah blah blah blah blah blah";
Run Code Online (Sandbox Code Playgroud)

它需要能够在字符串内支持任意数量的括号对.

php regex

9
推荐指数
2
解决办法
3万
查看次数

CompareValidator日期格式

我有一个ajax日历控件,我指定日期格式为yyyy-MM-dd.是否有可能让comparevalidator分别验证该日期类型并使其失败?现在它似乎只采取dd-MM-yyyy.

谢谢.

c# forms validation

1
推荐指数
1
解决办法
5677
查看次数

寻找C++的应用程序GUI库

我正在考虑写一个非常简单的绘画程序.我想要一种更先进的方法将数据输入我的程序,如颜色,画笔的粗细等.我想使用GUI库,所以我可以编程按钮和菜单,使输入更容易.

有什么建议?

(我正在运行Visual C++ 2005 SP1)

c++ user-interface

2
推荐指数
3
解决办法
540
查看次数

ListBox中的选定项目是否有ASP.NET集合?

在我的Asp.NET网站上,我有一个允许多个选择的列表框.我希望能够提出类似的问题:

blah = myListbox.selectedItems;
Run Code Online (Sandbox Code Playgroud)

并获得在列表框中选择的项目的集合.看起来在Windows Forms世界中有一种方法,但不适用于asp.NET.有没有比这更简单的方法来迭代Items集合寻找选定的值?

asp.net listbox

4
推荐指数
1
解决办法
6020
查看次数

在证据方面,你如何"得到它"?

当我们开始进入算法设计和更多离散的计算机科学主题时,我们最终必须一直在证明事物.每当我看到有人问如何变得非常擅长证明时,常见的(也可能是懒惰的)答案就是"练习".

如果你掌握了基础知识,那么练习就没有问题,但是你如何进入数学证明的思维定势?什么时候感应点击?哪些资源最适合教授这些主题?在沉迷于校对之前,应该研究哪些基础课题?

algorithm computer-science proof

17
推荐指数
3
解决办法
5519
查看次数

是否有可能在groovy中突破关闭

有没有办法从一个时髦的封闭中"打破".

也许是这样的:

[1, 2, 3].each { 
  println(it)
  if (it == 2)
    break 
}
Run Code Online (Sandbox Code Playgroud)

groovy

26
推荐指数
5
解决办法
3万
查看次数