新的日期()可以在节点.js中发生内存泄漏吗?

Can new Date() case a memory leak in node.js?

本文关键字:内存 泄漏 js 节点 日期      更新时间:2023-09-26

第一个示例中,我正在更新现有的MongoDB文档。date: new Date() 会导致内存泄漏吗?如果不是,为什么?我在某处读到,每当您使用 new 关键字分配新对象时,您必须自己释放它。

var update = {
  $inc: { wins: 1 },
  $push: { pastMatches: { date: new Date, winner: winner, loser: loser } }
};
Character.update({ characterId: winner }, update);

第二个示例中,我使用以下 Express.js 中间件进行错误日志记录。如果每次在应用路由中出现错误时调用此代码,是否会导致内存泄漏?新的日期()会被垃圾回收吗?

app.use(function(err, req, res, next) {
  console.error(new Date, err);
  res.send(500);
});

谢谢!我正在尝试跟踪应用程序中的内存泄漏,这些是对我来说很突出的几个例子。

这两者都对我来说是完全良性的。查找用作缓存的对象、不断追加的数组等。您还应该确保您确实存在内存泄漏,而不仅仅是使用大量内存的 v8。尝试使用更小、更具体的 Web 应用使用来重现稳定的内存增长,以缩小内存范围。