JavaScript 中的堆和本机内存分配:如何管理
Heap and Native memory allocation in JavaScript: how managed?
JavaScript 有堆(垃圾回收)内存和本机(类型数组,DOM 元素)内存。
问题:两者之间是否存在平衡,以便如果我想拥有大量类型化数组,它可以工作,但只是减少堆?
通常的模型是分配内存,可以这么说,本机从顶部开始,堆从底部开始。 当需要更多内存时,内存会增加,本机和堆再次移动到顶部/底部,中间有额外的内存。或者一些类似的方法,在两者之间进行权衡。
我意识到这是一个奇怪的问题,但我正在编写大型程序,试图通过类型化数组最大限度地减少内存使用量。
谢谢!
如果您尝试最大程度地减少内存使用量,并且您的代码适合类型化数组,则类型化数组应比常规数组使用更少的内存。 所有这些记忆都来自同一个地方,所以你关于堆与原生的问题对我来说并没有真正的意义。 用于类型化数组的内存越多,可用于使用内存的任何其他内容的内存就越少。 优化的最佳选择是只使用更少的内存,而不用担心什么样的东西正在使用该内存,因为内存是内存,无论它里面有类型化数组还是一个巨大的字符串。
类型化数组像常规数组一样被垃圾回收。 类型化数组的内存效率更高,只是因为它们对数组中的每个元素使用的存储更少,而不是因为它们使用不同类型的内存。
相关文章:
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何访问声音管理器2创建的声音对象
- JS编译器/包管理器,用于版本控制
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 以角度管理动态URL
- React Redux错误页面管理
- 让Webpack管理Quirky AMD定义的最佳方式
- 如何在p5.js中管理多智力竞赛游戏的多个屏幕
- JavaScript管理具有重复属性名称的对象属性
- 管理四位数的ID
- 布局中的项目管理
- 如何在具有某些 UI 视图的状态中管理工厂单个请求数据
- jQuery中的状态管理是什么
- CSS更改类样式管理面板
- 如何管理视图的更改
- 如何在词法环境中管理块范围
- 使用2个控制器管理工厂JSON$http数据
- Modx数据包管理器ext-all.js错误
- 从javaspring方法管理http.get响应
- 在React中管理大型状态树