ArrayList内部是拿数组存储,那么上限就是Integer.MAX_VALUE
LinkedList内部是个链表,理论上是无限的
另外,List里放的东西都是在内存里的(当然你也可以自己实现一个放磁盘上的),因此能放多少也取决于放的东西的大小以及种类。
大小方面很容易计算,一个对象如果1K,那400,000个就至少要占用400M的内存(不算其他占用)。
而虚拟机内存分类方面,如果是普通对象,一般占用的都是堆(Heap)空间,如果是常量或是类似String.intern()出来的东东,则占用的是永生带(Permanent Generation)。
实际开发中,虚拟机默认内存大小根据不同的虚拟机实现有所不同,可以在启动应用时用-Xmx调整最大堆大小,比如调整堆最大大小为2G:
所以40万是放得下的
先声明一个你要添加的表实体类public class student
{
public int id{getset}
public string name{getset}
}
List<student>st=new List<student>()
foreach(var item in st)
{
Model.student st=new Model.student()
st.id=item.id
st.name=itemt.name
this.Insert(st)
}
//根据实体添加数据库
public string Insert(Model.student student)
{
.... *** 作数据库
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)