人们到处都使用单例。最近从 stackoverflow 读到一些线程,在 C++ 中应该避免单例,但不清楚为什么会这样。
有些人可能会担心未删除的指针会导致内存泄漏,诸如异常之类的事情会跳过内存回收代码。但是 auto_ptr 会解决这个问题吗?
我的节点服务器崩溃并显示以下日志。
<--- Last few GCs --->
504158 ms: Mark-sweep 1379.9 (1434.3) -> 1379.0 (1434.3) MB, 1486.7 / 0.0 ms [allocation failure] [GC in old space requested].
505610 ms: Mark-sweep 1379.0 (1434.3) -> 1379.0 (1434.3) MB, 1452.0 / 0.0 ms [allocation failure] [GC in old space requested].
507067 ms: Mark-sweep 1379.0 (1434.3) -> 1379.0 (1406.3) MB, 1456.1 / 0.0 ms [last resort gc].
508505 ms: Mark-sweep 1379.0 (1406.3) -> 1379.0 (1406.3) MB, 1438.3 / 0.0 ms [last resort gc].
Run Code Online (Sandbox Code Playgroud)
我了解 Mark-sweep …
当我尝试从 Q 打印一个 promise 对象时,我得到了以下结果。
var Q = require('q');
var defaultPromise = new Q();
console.log('defaultPromise', defaultPromise);
defaultPromise { state: 'fulfilled', value: undefined }
Run Code Online (Sandbox Code Playgroud)
字段状态和值从何而来,我尝试通过visual studio代码找到它们,字段不存在。