Nach der Diskussion mit der Universität, ich frage mich, ob es möglich wäre (auch wenn völlig keinen Sinn macht), Speicher manuell loszulassen (dh mit unsicheren Paket). Ist es?Ist es möglich, den Speicher manuell aus dem Speicher zu entfernen?
Antwort
Hier ist ein Thread, die Sie interessieren könnten: Add runtime.Free() for GOGC=off
Interessante Teil:
Die Go GC nicht die Fähigkeit haben, manuell ausplanen Blöcke mehr. Und außerdem, Laufzeit. Free ist unsicher (Menschen könnten frei immer noch in Verwendung Zeiger oder doppelt frei) und dann alle Arten von C-Speicher-Problem , dass Go versucht, sich loswerden wird wiederkommen. Der andere Grund ist , dass die Laufzeit manchmal hinter Ihrem Rücken zuweist und es gibt keine Möglichkeit für das Programm explizit Speicher freizugeben.
Wenn Sie Speicher manuell mit Go verwalten möchten, implementieren Sie Ihren eigenen Speicherzuordner basierend auf syscall.Mmap oder cgo malloc/free.
Deaktivieren GC für längere Zeit ist in der Regel eine schlechte Lösung für eine gleichzeitige Sprache wie Go. Und Go's GC wird nur besser sein die Straße runter.
TL; DR: Ja, aber tun es nicht
- 1. Den View-Controller nach dem Abmelden aus dem Speicher entfernen?
- 2. Entfernen Array-Element aus dem lokalen Speicher
- 3. PyImport_ImportModule, möglich, Modul aus dem Speicher zu laden?
- 4. ist es möglich für Avassetwriter in den Speicher
- 5. Ist es möglich, Speicher teilweise freizugeben?
- 6. Refresh Extjs Grid nach dem Entfernen von Datensätzen aus dem Speicher Paging-Speicher
- 7. Wie kann ich Speicher manuell löschen?
- 8. Node.js Haufen aus dem Speicher
- 9. C# Wie Objekt vollständig aus dem Speicher entfernen
- 10. Clojure: Wie kann ich ein Objekt aus dem Speicher entfernen?
- 11. Entfernen var Objekt aus dem Speicher in Titan
- 12. Wie Sie Objekte aus dem Speicher freigeben
- 13. Postgres bekommt aus dem Speicher Fehler trotz viel freien Speicher
- 14. Duplikate aus Datensätzen entfernen, die nicht in den Speicher passen?
- 15. Bitmaps schnell aus dem Speicher entladen
- 16. Möglichkeit, den auf freien Speicher zugewiesenen Speicher zu erhöhen
- 17. JavaScript Variablen aus dem Speicher löschen
- 18. Ist es möglich, eine Inplace Merge ohne temporären Speicher durchzuführen?
- 19. CImage :: Load() aus dem Speicher ohne CreateStreamOnHGlobal
- 20. Laden Skript aus dem Speicher in C
- 21. Welche ist schneller in Android, eine Datei aus dem externen Speicher oder eine Datei aus dem internen Speicher zu laden?
- 22. Öffnen eines PDF-Dokuments aus dem Speicher
- 23. AVAudioPlayer vorinstallierten Sound Lecks aus dem Speicher
- 24. Ist es möglich, multi_index Container zusammenhängende Speicher verwenden?
- 25. Wie ist es möglich, auf Speicher anderer Prozesse zuzugreifen?
- 26. AIR TV - ist es möglich, den maximalen Speicher für die Laufzeit zu begrenzen?
- 27. Ist es möglich, einen Remote-Speicher auf dem lokalen Dateisystem von iOS zu mounten?
- 28. Ist es sicher, Speicher neu zuzuweisen?
- 29. Ist es möglich, encodeb64 aus dem Image-Objekt zu erstellen?
- 30. Fragmente werden nicht aus dem Speicher freigegeben
Nein ist dies nicht möglich. – Volker
Sie können immer manuell zugewiesenen Speicher freigeben. Wollen Sie das tun? – JimB
Die Sprache versucht, die Speicherverwaltung zu vergessen, daher ist es verständlich, warum sie diese Funktion nicht haben. –