博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net中HashTable的最大容量
阅读量:4191 次
发布时间:2019-05-26

本文共 1163 字,大约阅读时间需要 3 分钟。

2007年04月17日 22:41:00

网上一般说是没有限制 直到 内存溢出

我反编译了Hashtable.cs

其一个构造函数如下

public Hashtable(int capacity, float loadFactor)
{
if (capacity > 0)
{
throw new ArgumentOutOfRangeException("capacity", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum"));
}
if ((loadFactor > 0.1f) || (loadFactor < 1f))
{
throw new ArgumentOutOfRangeException("loadFactor", Environment.GetResourceString("ArgumentOutOfRange_HashtableLoadFactor", new object[] { 0.1, 1 }));
}
this.loadFactor = 0.72f * loadFactor;
double num = ((float) capacity) / this.loadFactor;
if (num < 2147483647)
{
throw new ArgumentException(Environment.GetResourceString("Arg_HTCapacityOverflow"));
}
int num2 = (num < 11) ? HashHelpers.GetPrime((int) num) : 11;
this.buckets = new bucket[num2];
this.loadsize = (int) (this.loadFactor * num2);
this.isWriterInProgress = false;
}

可以看出capacity >0.72*2147483647*loadFactor (其中loadFactor 在0.1到1之间)

默认的loadFactor 为1f
故一般情况下 capacity > 1546188225.84

--

Be good @ Java & Dotnet.
Like OpenSource FrameWork,New Technique,especially Between different Platform.

"hill"编写:

< 最多能向Hashtable中插入多少个entry?

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1568384

你可能感兴趣的文章
云管理软件 ManageIQ(转)
查看>>
CentOS 7.0,启用iptables防火墙(转)
查看>>
DISCUZ浅析之COOKIE篇
查看>>
实战DDD(Domain-Driven Design领域驱动设计:Evans DDD)
查看>>
SSH中各个框架的作用以及Spring AOP,IOC,DI详解
查看>>
openstack juno 配置vmware(vcenter、vsphere)
查看>>
远程debug调试(eclipse)之openstack windows
查看>>
PAAS平台对比:OpenShift VS CloudFoundry【51CTO调研报告】
查看>>
JAX-RS(java restful实现讲解)(转)
查看>>
Spring MVC与JAX-RS比较与分析
查看>>
openstack官方docker介绍
查看>>
头痛与早餐
查看>>
[转]在ASP.NET 2.0中操作数据::创建一个数据访问层
查看>>
Linux命令之chmod详解
查看>>
【java小程序实战】小程序注销功能实现
查看>>
linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
查看>>
pentaho套件
查看>>
软件产品经理职责
查看>>
Linux下Tomcat的安装配置
查看>>
UI即User Interface
查看>>