例如,假设我有一个应用程序可以读取包含大量数据行的CSV文件.我根据数据类型向用户提供行数的摘要,但我想确保我不读取太多数据行并导致OutOfMemoryErrors.每行都转换为一个对象.有没有一种简单的方法可以通过编程方式找出该对象的大小?是否有一个引用定义了大型基元类型和对象引用的大小VM?
现在,我的代码可以读取多达32,000行,但我还希望代码能够读取尽可能多的行,直到我使用了32MB的内存.也许这是一个不同的问题,但我仍然想知道.
我想知道JavaScript对象占用的大小.
采取以下功能:
function Marks(){
this.maxMarks = 100;
}
function Student(){
this.firstName = "firstName";
this.lastName = "lastName";
this.marks = new Marks();
}
Run Code Online (Sandbox Code Playgroud)
现在我实例化student:
var stud = new Student();
Run Code Online (Sandbox Code Playgroud)
所以我可以做类似的事情
stud.firstName = "new Firstname";
alert(stud.firstName);
stud.marks.maxMarks = 200;
Run Code Online (Sandbox Code Playgroud)
等等
现在,该stud对象将在内存中占用一些大小.它有一些数据和更多的对象.
如何找出stud对象占用的内存量?像sizeof()JavaScript中的东西?如果我能在单个函数调用中找到它,那将是非常棒的sizeof(stud).
我已经在互联网上搜索了几个月 - 找不到它(在几个论坛中询问 - 没有回复).
一个具有100个属性的对象占用的内存空间是否与100个对象相同,每个属性有一个属性?
为对象分配了多少内存?
添加属性时会使用多少额外空间?