Die Node.js documentation on Buffer
sagt:Wo speichert Node.js Puffer?
Rohdaten in Instanzen der Klasse
Buffer
gespeichert ist. ABuffer
ähnelt einem Array von ganzen Zahlen, entspricht jedoch einer unbearbeiteten Speicherzuordnung außerhalb des V8-Heaps. ABuffer
kann nicht in der Größe geändert werden.
Okay, so Puffer sind nicht in dem V8-Heap gespeichert, aber ... wo nicht Node.js sie tatsächlich gespeichert werden? Ich kann mir kaum vorstellen, dass es auf dem Stapel ist, oder?
Mit anderen Worten: Was genau macht
eine rohe Speicherzuweisung außerhalb des V8 Haufen
eigentlich?
Vielleicht von "außerhalb des V8 heap" außerhalb des normalen Pool bedeutet für JavaScript-Objekte verwendet. Es könnte natürlich (über Low-Level "malloc()") im umgebenden Prozess zugeordnet werden. – Pointy
ref link: https://github.com/joyent/node/blob/master/src/node_buffer.cc#L191 – Hacketo
Um die Version des ref-Links zu beheben: https://github.com/joyent/node/blob /6036e4f5a833b27fb474f3bf891c405606fdce19/src/node_buffer.cc#L191 –