Garbage collection (computer science) (original) (raw)

About DBpedia

جمع النفايات (بالإنجليزية: Garbage collection)‏ أو عملية جمع الموارد غير المستخدمة في ذاكرة الحاسب الرام هي شكل من أشكال تنظيم ذاكرة الحاسب بشكل تلقائي حيث أن عملية جمع النفايات تهدف إلى البحث عن الموارد غير المستخدمة في الذاكرة ومن ثم إزالتها من أجل الحصول علي مساحة فارغة من الذاكرة لاستخدامها في أعمال أخرى.الذي يقوم بهذه العملية يسمى جامع النفايات.

thumbnail

Property Value
dbo:abstract جمع النفايات (بالإنجليزية: Garbage collection)‏ أو عملية جمع الموارد غير المستخدمة في ذاكرة الحاسب الرام هي شكل من أشكال تنظيم ذاكرة الحاسب بشكل تلقائي حيث أن عملية جمع النفايات تهدف إلى البحث عن الموارد غير المستخدمة في الذاكرة ومن ثم إزالتها من أجل الحصول علي مساحة فارغة من الذاكرة لاستخدامها في أعمال أخرى.الذي يقوم بهذه العملية يسمى جامع النفايات. (ar) Garbage collection (zkratka GC, v původním významu „odvoz odpadu“) je způsob automatické správy paměti. Funguje tak, že speciální algoritmus (garbage collector) vyhledává a uvolňuje úseky paměti, které již program nebo proces nepoužívá. Za autora garbage collection metody je považován John McCarthy, jenž metodu vyvinul kolem r. 1960 pro řešení problémů v Lispu. Garbage collection šetří čas při vývoji. Automatická správa paměti osvobozuje programátora od uvolňování objektů, které již dále nejsou zapotřebí, což ho většinou stojí nezanedbatelné úsilí. Garbage collection také pomáhá předcházet některým typům běhových chyb, které se často vyskytují při ruční správě paměti . Hledání objektů, které nebudou v budoucnu použity, se většinou provádí jednoduchým a poměrně rychlým způsobem, ne nějakou sofistikovanou analýzou kódu. Zjišťuje se, které objekty jsou z kořene programu nedostupné, tj. nevede na ně žádný živý ukazatel (odkaz, reference). (cs) En informàtica, la recollida de memòria brossa o recollida d'escombraries (de l'anglès, garbage collection) és un mecanisme implícit de gestió de memòria implementat en alguns compiladors i intèrprets de llenguatges de programació. Aquest concepte fou desenvolupat per John McCarthy a 1959 per evitar la gestió manual de memòria en el llenguatge Lisp. (ca) Στην πληροφορική, η συλλογή απορριμμάτων (αγγλ. garbage collection ή GC) είναι μια μορφή αυτόματης η οποία λειτουργεί στο υπόβαθρο, κατά την εκτέλεση ενός προγράμματος. Ο συλλέκτης απορριμμάτων (garbage collector), η απλώς συλλέκτης, είναι συνήθως ένα νήμα του συστήματος (π.χ. του λειτουργικού συστήματος ή μιας εικονικής μηχανής επί της οποίας εκτελείται το βασικό πρόγραμμα) σχεδιασμένο κάθε φορά που ενεργοποιείται να απελευθερώνει τα τρέχοντα απορρίμματα: τη μνήμη την οποία καταναλώνουν τα αντικείμενα που το πρόγραμμα δεν χρησιμοποιεί πια. Η συλλογή απορριμμάτων εφευρέθηκε από τον Τζον Μακάρθι το 1959 για να λύσει προβλήματα της γλώσσας προγραμματισμού Lisp. Η συλλογή απορριμμάτων συχνά εμφανίζεται σαν το αντίθετο της χειροκίνητης διαχείρισης μνήμης, η οποία απαιτεί από τον προγραμματιστή να ορίζει ποια αντικείμενα μπορούν να απομακρυνθούν από τη μνήμη. Πολλά συστήματα όμως συνδυάζουν τις δύο προσεγγίσεις, μαζί με άλλες τεχνικές όπως η δέσμευση μνήμης στη στοίβα και η εξαγωγή περιοχών (region inference). Περιορισμένοι πόροι εκτός της μνήμης, όπως π.χ. οι δικτυακές υποδοχές, τα χειριστήρια βάσεων δεδομένων (database handles), τα παράθυρα για αλληλεπίδραση με τον χρήστη και οι περιγραφείς αρχείων και συσκευών, δεν επηρεάζονται από τη συλλογή απορριμμάτων. Υπάρχουν άλλες μέθοδοι για τη διαχείριση αυτών των πόρων, όπως οι καταστροφείς, που μπορούν να διαχειριστούν ακόμα και τη μνήμη, με αποτέλεσμα να μην χρειάζεται συλλογή απορριμμάτων. Κάποια συστήματα συλλογής απορριμμάτων επιτρέπουν σε αυτούς τους άλλους πόρους να σχετίζονται με μια περιοχή στη μνήμη, η οποία, όταν συλλεχθεί, να προκαλέσει την αποδέσμευση των πόρων, κάτι που ονομάζεται οριστικοποίηση (finalization). Αυτό όμως μπορεί να προκαλέσει περιπλοκές, όπως οι σημαντικές καθυστερήσεις μεταξύ της παύσης της χρήσης και της αποδέσμευσης σημαντικά περιορισμένων πόρων, ή η έλλειψη ελέγχου σχετικά με το ποιο νήμα θα κάνει την αποδέσμευση. (el) Die Garbage Collection, kurz GC (englisch für Müllabfuhr, auch automatische Speicherbereinigung oder Freispeichersammlung genannt) bezeichnet in der Software- und Informationstechnik eine automatische Speicherverwaltung, die zur Vermeidung von Speicherproblemen beiträgt; der Vorteil wird mit einem erhöhten Ressourcenverbrauch erkauft. Unter anderem wird der Speicherbedarf eines Computerprogramms minimiert. Dabei wird zur Laufzeit versucht, nicht länger benötigte Speicherbereiche automatisch zu identifizieren, um diese dann freizugeben. Manche automatischen Speicherbereinigungen führen darüber hinaus die noch verwendeten Speicherbereiche zusammen (Defragmentierung). (de) En komputado senrubigo estas agado por aŭtomate (per fona tasko) kolekti kaj redisponigi ne plu uzatajn pecojn da ĉefmemoro (la «makulaturon»). La procezo kiu faras tion, kaj ĝia programo (aŭ la koncerna parto de rultempa sistemo de programaro) estas senrubigilo. Plenumo de programado konsistas interalie el kreado de multaj datumblokoj, ĉiu el kiuj okupas parton en la memoro, kiu iam devas esti liberigata por reuzo. Programlingvo ĝenerale havas konstruilon kiu kreas novan objekton, ekz‑e tiel: Konto k = new Konto; kaj ekokupas memoron. La posta malokupo povas okazi per la eksplicita voko de detruilo — kiel en la programlingvo C++, per delete k; aŭ ĉe eliro el bloko, aŭ povas okazi fone, per kolektado de rubo (makulaturo) en aparta interna tasko, kiel en Lispo aŭ Ĝavo. La eksplicita liberigo estis longe favorata, kiel la plej rapida kaj tuja. Tamen ĝi riskas fragmentiĝon de la memoro (en la tuta memoro estiĝadas truoj de libera memoro, tro malgrandaj por reuzi) kaj cima programado (ne liberigante objektojn). Por ripari troan fragmentiĝon oni bezonas kompaktigi la memoron. La aŭtomata senrubigilo sekurigis ekzemple Ĝavon (Java), sed komence zorgis pri maloftaj, sed tiuokaze rimarkeblaj paŭzoj kiam la tuta memoro estis senrubigata. Per Java SE 6 jam preskaŭ realtempaj postuloj rilate al la senrubigo eblas, kaj jam antaŭ tio ekzistis realtempaj Java rultempmaŝinoj de aliaj partioj. Ĉi-tempe la rapideco de Java kun senrubigo povas esti pli alta ol C++ kun eksplicita liberigo. La kialo estas ke la memoradministrado en C++ (kreado, forigado) ankaŭ kostas tempon, precipe se oni samtempe volas preventi tro grandan fragmentiĝon de memoro. Oni konkludu ke inter ambaŭ sistemoj de kreado kaj liberigo de memoro ne ekzistas vera gajnanto. La teorie pli bonaj funkciaj lingvoj jam ĉiam aplikis senrubigilon, ĉar la datumoj estas kreitaj kiel rezulto de funkcivokoj, kaj ne ekzistas variabloj kiel adreso de iu memorbloko. (eo) In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim memory which was allocated by the program, but is no longer referenced; such memory is called garbage. Garbage collection was invented by American computer scientist John McCarthy around 1959 to simplify manual memory management in Lisp. Garbage collection relieves the programmer from doing manual memory management, where the programmer specifies what objects to de-allocate and return to the memory system and when to do so. Other, similar techniques include stack allocation, region inference, and memory ownership, and combinations thereof. Garbage collection may take a significant proportion of a program's total processing time, and affect performance as a result. Resources other than memory, such as network sockets, database handles, windows, file descriptors, and device descriptors, are not typically handled by garbage collection, but rather by other methods (e.g. destructors). Some such methods de-allocate memory as well. (en) Un recolector de basura (del inglés garbage collector) es un mecanismo implícito de gestión de memoria implementado en algunos lenguajes de programación de tipo interpretado o semiinterpretado. (es) Pengumpulan sampah (bahasa Inggris: garbage collection atau disingkat GC) merupakan sistem yang membuat pemrogram tidak perlu secara manual membebaskan memori dari objek yang tidak terpakai. Metode ini diciptakan oleh sekitar 1959 untuk memecahkan masalah manajemen memori manual pada bahasa pemrograman Lisp buatannya. * l * * s (in) Un ramasse-miettes, ou récupérateur de mémoire, ou glaneur de cellules (en anglais garbage collector, abrégé en GC), est un sous-système informatique de gestion automatique de la mémoire. Il est responsable du recyclage de la mémoire préalablement allouée puis inutilisée. (fr) ガベージコレクション(英: garbage collection、GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクション(英: memory compaction)と呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタ(英: garbage collector)と呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。JISでは「廃品回収」や「ゴミ集め」などという直訳が割り当てられている規格もあるが、一般的な意味での「ゴミ集め」と紛らわしく、プログラミングの分野ではかえって意味が通じなくなるため、ごく一部の学会誌や論文などを除き、実際に使われることはほとんどなく、外来語として各種カナ表記やGCという略記が使われることが一般的である。 (ja) 쓰레기 수집(garbage collection 가비지 컬렉션[*], GC)은 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 영어를 그대로 읽어 가비지 컬렉션이라 부르기도 한다. 1959년 무렵 리스프의 문제를 해결하기 위해 존 매카시가 개발하였다. (ko) In informatica per Garbage Collection (termine a volte abbreviato con GC, letteralmente raccolta di rifiuti) si intende una modalità automatica di gestione della memoria, mediante la quale un sistema operativo, o un compilatore e un modulo di run-time liberano porzioni di memoria non più utilizzate dalle applicazioni. In altre parole, il garbage collector annoterà le aree di memoria non più referenziate, cioè allocate da un processo attivo, e le libererà automaticamente. La garbage collection è stata inventata nel 1959 da John McCarthy per il linguaggio di programmazione Lisp. Questo meccanismo ha provocato un notevole cambio nello stile di programmazione dei linguaggi che lo implementano. Infatti non è più necessario richiedere esplicitamente la liberazione della memoria utilizzata da un oggetto, ovvero terminare tale oggetto in modo deterministico, ma si lascia che il sistema esegua questa operazione automaticamente, nel momento in cui lo riterrà più opportuno al fine di migliorare le prestazioni complessive. Tale azione viene definita nell'ambito delle finalizzazioni non deterministiche. (it) In de informatica is garbage collection (Engels voor "afvalinzameling"), afgekort GC, een vorm van automatisch geheugenbeheer. De garbage collector probeert geheugen vrij te geven dat in gebruik is door objecten die niet meer door de applicatie aangeroepen zullen worden. Garbage collection werd rond 1959 uitgevonden door John McCarthy om de problemen van handmatig geheugenbeheer op te lossen in de door hem net ontwikkelde programmeertaal Lisp. Veel programmeertalen (bijvoorbeeld Java) kennen een vorm van garbage collection, als onderdeel van de specificatie van de taal of voor de praktische implementatie ervan (formele talen als lambdacalculus bijvoorbeeld). Zulke programmeertalen worden aangeduid als garbage-collected talen. Java en C# zijn talen met een garbage collector. In objectgeoriënteerde talen zonder garbage collector (bijvoorbeeld C++) is het de taak van de ontwikkelaar om er voor te zorgen dat elk aangemaakt object ook weer wordt vernietigd. Het principe van een garbage collector is als volgt: 1. * Bepaal welke data-objecten in een programma niet meer benaderd zullen worden. 2. * Geef het geheugen vrij dat door deze objecten gebruikt wordt. Het is in zijn algemeenheid onmogelijk om het moment te bepalen waarop een object voor het laatst gebruikt wordt. Daarom gebruikt een garbage collector een conservatieve inschatting om te bepalen of een object in de toekomst niet meer gebruikt kan worden. Bijvoorbeeld: als er geen enkele referentie meer is naar een bepaald object dan kan er ook nooit meer zo'n referentie tot stand komen. Dit is het criterium dat door de meeste garbage collectors gebruikt wordt. (nl) Odśmiecanie pamięci (ang. garbage collection), zbieranie nieużytków, automatyczna dealokacja – jedna z metod automatycznego zarządzania dynamicznie przydzielaną pamięcią, w której za proces jej zwalniania odpowiedzialny jest nie programista, lecz programowy zarządca noszący nazwę garbage collector. Pierwsza metoda odśmiecania była opracowana w 1959 roku przez Johna McCarthy’ego w celu rozwiązania problemu ręcznego zarządzania pamięcią w Lispie. Mechanizm ten następnie został szeroko rozpowszechniony i jest wykorzystywany w wielu wysokopoziomowych językach programowania, takich jak: Smalltalk, Python, Ruby, Java, C# czy D. Istnieje wiele sposobów określania, które fragmenty pamięci są już niepotrzebne i można je zwolnić; opis kilku ważniejszych znajduje się poniżej. (pl) Сборка мусора (англ. garbage collection) в программировании — одна из форм автоматического управления памятью. Специальный процесс, называемый сборщиком мусора (англ. garbage collector), периодически освобождает память, удаляя из неё ставшие ненужными объекты. Автоматическая сборка мусора позволяет повысить безопасность доступа к памяти. (ru) Skräpsamling (från engelskans garbage collection) är en automatisk . Skräpsamlaren (garbage collector) eller samlaren söker att återvinna skräp, med vilket avses arbetsminne eller andra resurser som tilldelats dataobjekt som aldrig kommer att användas igen, och frigör dessa automatiskt. Skräpsamling framhålls ibland som raka motsatsen till manuell , som kräver att programmeraren uttryckligen specificerar vilka objekt som skall frigöras. Dock använder sig flera system en kombination av de två metoderna. (sv) Coletor de lixo (em inglês: garbage collector, ou o acrônimo GC) é um processo usado para a automação do gerenciamento de memória. Com ele é possível recuperar uma área de memória inutilizada por um programa, o que pode evitar problemas de vazamento de memória, resultando no esgotamento da memória livre para alocação. Esse sistema contrasta com o gerenciamento manual de memória, em que o programador deve especificar explicitamente quando e quais objetos devem ser desalocados e retornados ao sistema. Entretanto, muitos sistemas usam uma combinação das duas abordagens. Foi inventado por John McCarthy por volta de 1959 para resolver problemas de gerenciamento manual de memória em Lisp. (pt) Збирання сміття (англ. garbage collection) — одна з форм автоматичного керування оперативною пам'яттю комп'ютера під час виконання програм. Підпрограма — «прибиральник сміття» — вивільняє пам'ять від об'єктів, які не будуть використовуватись програмою в подальшому. Збирання сміття було винайдено Джоном Мак-Карті приблизно 1959 року для розробленої ним мови програмування Лісп. (uk) 在計算機科學中,垃圾回收(英語:Garbage Collection,縮寫為GC)是指一種自動的記憶體管理機制。当某个程序占用的一部分内存空间不再被这个程序访问时,这个程序会借助垃圾回收算法向操作系统归还这部分内存空间。垃圾回收器可以减轻程式員的負擔,也減少程序中的错误。垃圾回收最早起源于LISP语言。目前許多語言如Smalltalk、Java、C#、Go和D语言都支援垃圾回收器。 (zh)
dbo:thumbnail wiki-commons:Special:FilePath/Structure_and_Interpr...omputer_Programs_p.764a.gif?width=300
dbo:wikiPageExternalLink http://basen.oru.se/kurser/koi/2008-2009-p1/texter/gc/index.html http://tinygc.sourceforge.net/ https://www.cs.purdue.edu/homes/hosking/690M/p501-schorr.pdf http://sourceforge.net/projects/meixnergc/ http://www.codeproject.com/KB/cpp/conservative_gc.aspx http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html http://www.memorymanagement.org/
dbo:wikiPageID 6734 (xsd:integer)
dbo:wikiPageLength 37119 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1121230281 (xsd:integer)
dbo:wikiPageWikiLink dbr:Ruby_(programming_language) dbr:Method_(computer_programming) dbr:Memory_leak dbr:Boehm_garbage_collector dbr:Delphi_(programming_language) dbr:Dereference_operator dbr:Julia_(programming_language) dbr:Perl dbr:Region_inference dbr:Destructor_(computer_programming) dbr:.NET_Micro_Framework dbc:Articles_with_example_code dbc:Memory_management dbr:Compiler dbr:Memory_management dbr:Escape_analysis dbr:Object-oriented_programming dbr:Oracle_machine dbr:Class_(computer_programming) dbr:Go_(programming_language) dbr:Modula-3 dbr:Concurrent_mark_sweep_collector dbr:Dangling_pointer dbr:Erez_Petrank dbr:App_Store_(iOS) dbr:Apple_Inc. dbr:Applesoft_BASIC dbr:Lisp_(programming_language) dbr:Logo_(programming_language) dbr:ML_(programming_language) dbc:Automatic_memory_management dbr:Smalltalk dbr:Stack-based_memory_allocation dbr:Communications_of_the_ACM dbr:Compare-and-swap dbr:Computer_performance dbr:Computer_science dbr:Atomic_operation dbr:Overhead_(computing) dbr:Pointer_(computer_programming) dbr:Static_program_analysis dbr:BASIC dbr:C++ dbr:C++/CLI dbr:CPU_cache dbr:CPython dbr:CRC_Press dbr:C_(programming_language) dbr:C_Sharp_(programming_language) dbr:Wiley_(publisher) dbr:Garbage-first_collector dbr:Garbage_(computer_science) dbr:Heap_(data_structure) dbr:APL_(programming_language) dbr:Ada_(programming_language) dbr:Altair_8800 dbr:D_(programming_language) dbr:Dynamic_dead-code_elimination dbr:ECMAScript dbr:PHP dbr:Handle_(computing) dbr:Functional_programming_language dbr:Hard_real-time dbr:RPL_(programming_language) dbr:Randy_Wigginton dbr:Real-time_computing dbr:Haskell_(programming_language) dbr:Henry_Baker_(computer_scientist) dbr:JavaScript dbr:Java_(programming_language) dbr:Tagged_pointer dbc:Solid-state_computer_storage dbr:John_McCarthy_(computer_scientist) dbr:LLVM dbr:Lambda_calculus dbr:Big_O_notation dbr:Henry_Lieberman dbr:High-level_language_computer_architecture dbr:High-level_programming_language dbr:Java_Platform,_Micro_Edition dbr:Thread_(computing) dbr:Transaction_processing dbr:Window_(computing) dbr:Reference_counting dbr:Automatic_Reference_Counting dbr:Manual_memory_management dbr:IOS dbr:IOS_7 dbr:Mercury_(programming_language) dbr:Objective-C dbr:Runtime_system dbr:Network_socket dbr:Scripting_language dbr:Virtual_memory dbr:Programming_language dbr:Weak_reference dbr:Tracing_garbage_collection dbr:OS_X_10.5 dbr:Smart_pointer dbr:Virtual_memory_compression dbr:ARM64 dbr:OS_X_10.7 dbr:ProDOS dbr:Unreachable dbr:Chapman_and_Hall dbr:Springer-Verlag dbr:Embedded_computing dbr:File_(computing) dbr:Heap_allocation dbr:Language_specification dbr:Taylor_&_Francis_Ltd dbr:Destructor_(computer_science) dbr:OS_X_10.8 dbr:Bug_(software) dbr:Stack_allocation dbr:File:Structure_and_Interpretation_of_Computer_Programs_p.764a.gif dbr:File:Structure_and_Interpretation_of_Computer_Programs_p.764b.gif
dbp:cs1Dates y (en)
dbp:date April 2019 (en)
dbp:wikiPageUsesTemplate dbt:About dbt:Authority_control dbt:Citation_needed dbt:Cite_book dbt:Cite_journal dbt:Main dbt:More_citations_needed_section dbt:Other_uses dbt:Portal dbt:Reflist dbt:Short_description dbt:Unreferenced_section dbt:Use_dmy_dates dbt:Use_list-defined_references dbt:Wikibooks dbt:John_McCarthy dbt:Memory_management
dcterms:subject dbc:Articles_with_example_code dbc:Memory_management dbc:Automatic_memory_management dbc:Solid-state_computer_storage
gold:hypernym dbr:Form
rdf:type owl:Thing yago:Abstraction100002137 yago:Cognition100023271 yago:Concept105835747 yago:Content105809192 yago:GrammaticalRelation113796779 yago:Idea105833840 yago:Inflection113803782 yago:LinguisticRelation113797142 yago:Paradigm113804375 yago:PsychologicalFeature100023100 yago:Relation100031921 dbo:MusicGenre yago:WikicatProgrammingLanguageConcepts yago:WikicatProgrammingParadigms
rdfs:comment جمع النفايات (بالإنجليزية: Garbage collection)‏ أو عملية جمع الموارد غير المستخدمة في ذاكرة الحاسب الرام هي شكل من أشكال تنظيم ذاكرة الحاسب بشكل تلقائي حيث أن عملية جمع النفايات تهدف إلى البحث عن الموارد غير المستخدمة في الذاكرة ومن ثم إزالتها من أجل الحصول علي مساحة فارغة من الذاكرة لاستخدامها في أعمال أخرى.الذي يقوم بهذه العملية يسمى جامع النفايات. (ar) En informàtica, la recollida de memòria brossa o recollida d'escombraries (de l'anglès, garbage collection) és un mecanisme implícit de gestió de memòria implementat en alguns compiladors i intèrprets de llenguatges de programació. Aquest concepte fou desenvolupat per John McCarthy a 1959 per evitar la gestió manual de memòria en el llenguatge Lisp. (ca) Die Garbage Collection, kurz GC (englisch für Müllabfuhr, auch automatische Speicherbereinigung oder Freispeichersammlung genannt) bezeichnet in der Software- und Informationstechnik eine automatische Speicherverwaltung, die zur Vermeidung von Speicherproblemen beiträgt; der Vorteil wird mit einem erhöhten Ressourcenverbrauch erkauft. Unter anderem wird der Speicherbedarf eines Computerprogramms minimiert. Dabei wird zur Laufzeit versucht, nicht länger benötigte Speicherbereiche automatisch zu identifizieren, um diese dann freizugeben. Manche automatischen Speicherbereinigungen führen darüber hinaus die noch verwendeten Speicherbereiche zusammen (Defragmentierung). (de) Un recolector de basura (del inglés garbage collector) es un mecanismo implícito de gestión de memoria implementado en algunos lenguajes de programación de tipo interpretado o semiinterpretado. (es) Pengumpulan sampah (bahasa Inggris: garbage collection atau disingkat GC) merupakan sistem yang membuat pemrogram tidak perlu secara manual membebaskan memori dari objek yang tidak terpakai. Metode ini diciptakan oleh sekitar 1959 untuk memecahkan masalah manajemen memori manual pada bahasa pemrograman Lisp buatannya. * l * * s (in) Un ramasse-miettes, ou récupérateur de mémoire, ou glaneur de cellules (en anglais garbage collector, abrégé en GC), est un sous-système informatique de gestion automatique de la mémoire. Il est responsable du recyclage de la mémoire préalablement allouée puis inutilisée. (fr) ガベージコレクション(英: garbage collection、GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクション(英: memory compaction)と呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタ(英: garbage collector)と呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。JISでは「廃品回収」や「ゴミ集め」などという直訳が割り当てられている規格もあるが、一般的な意味での「ゴミ集め」と紛らわしく、プログラミングの分野ではかえって意味が通じなくなるため、ごく一部の学会誌や論文などを除き、実際に使われることはほとんどなく、外来語として各種カナ表記やGCという略記が使われることが一般的である。 (ja) 쓰레기 수집(garbage collection 가비지 컬렉션[*], GC)은 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 영어를 그대로 읽어 가비지 컬렉션이라 부르기도 한다. 1959년 무렵 리스프의 문제를 해결하기 위해 존 매카시가 개발하였다. (ko) Сборка мусора (англ. garbage collection) в программировании — одна из форм автоматического управления памятью. Специальный процесс, называемый сборщиком мусора (англ. garbage collector), периодически освобождает память, удаляя из неё ставшие ненужными объекты. Автоматическая сборка мусора позволяет повысить безопасность доступа к памяти. (ru) Skräpsamling (från engelskans garbage collection) är en automatisk . Skräpsamlaren (garbage collector) eller samlaren söker att återvinna skräp, med vilket avses arbetsminne eller andra resurser som tilldelats dataobjekt som aldrig kommer att användas igen, och frigör dessa automatiskt. Skräpsamling framhålls ibland som raka motsatsen till manuell , som kräver att programmeraren uttryckligen specificerar vilka objekt som skall frigöras. Dock använder sig flera system en kombination av de två metoderna. (sv) Збирання сміття (англ. garbage collection) — одна з форм автоматичного керування оперативною пам'яттю комп'ютера під час виконання програм. Підпрограма — «прибиральник сміття» — вивільняє пам'ять від об'єктів, які не будуть використовуватись програмою в подальшому. Збирання сміття було винайдено Джоном Мак-Карті приблизно 1959 року для розробленої ним мови програмування Лісп. (uk) 在計算機科學中,垃圾回收(英語:Garbage Collection,縮寫為GC)是指一種自動的記憶體管理機制。当某个程序占用的一部分内存空间不再被这个程序访问时,这个程序会借助垃圾回收算法向操作系统归还这部分内存空间。垃圾回收器可以减轻程式員的負擔,也減少程序中的错误。垃圾回收最早起源于LISP语言。目前許多語言如Smalltalk、Java、C#、Go和D语言都支援垃圾回收器。 (zh) Garbage collection (zkratka GC, v původním významu „odvoz odpadu“) je způsob automatické správy paměti. Funguje tak, že speciální algoritmus (garbage collector) vyhledává a uvolňuje úseky paměti, které již program nebo proces nepoužívá. Za autora garbage collection metody je považován John McCarthy, jenž metodu vyvinul kolem r. 1960 pro řešení problémů v Lispu. (cs) Στην πληροφορική, η συλλογή απορριμμάτων (αγγλ. garbage collection ή GC) είναι μια μορφή αυτόματης η οποία λειτουργεί στο υπόβαθρο, κατά την εκτέλεση ενός προγράμματος. Ο συλλέκτης απορριμμάτων (garbage collector), η απλώς συλλέκτης, είναι συνήθως ένα νήμα του συστήματος (π.χ. του λειτουργικού συστήματος ή μιας εικονικής μηχανής επί της οποίας εκτελείται το βασικό πρόγραμμα) σχεδιασμένο κάθε φορά που ενεργοποιείται να απελευθερώνει τα τρέχοντα απορρίμματα: τη μνήμη την οποία καταναλώνουν τα αντικείμενα που το πρόγραμμα δεν χρησιμοποιεί πια. Η συλλογή απορριμμάτων εφευρέθηκε από τον Τζον Μακάρθι το 1959 για να λύσει προβλήματα της γλώσσας προγραμματισμού Lisp. (el) En komputado senrubigo estas agado por aŭtomate (per fona tasko) kolekti kaj redisponigi ne plu uzatajn pecojn da ĉefmemoro (la «makulaturon»). La procezo kiu faras tion, kaj ĝia programo (aŭ la koncerna parto de rultempa sistemo de programaro) estas senrubigilo. Plenumo de programado konsistas interalie el kreado de multaj datumblokoj, ĉiu el kiuj okupas parton en la memoro, kiu iam devas esti liberigata por reuzo. Programlingvo ĝenerale havas konstruilon kiu kreas novan objekton, ekz‑e tiel: Konto k = new Konto; delete k; Por ripari troan fragmentiĝon oni bezonas kompaktigi la memoron. (eo) In computer science, garbage collection (GC) is a form of automatic memory management. The garbage collector attempts to reclaim memory which was allocated by the program, but is no longer referenced; such memory is called garbage. Garbage collection was invented by American computer scientist John McCarthy around 1959 to simplify manual memory management in Lisp. (en) In informatica per Garbage Collection (termine a volte abbreviato con GC, letteralmente raccolta di rifiuti) si intende una modalità automatica di gestione della memoria, mediante la quale un sistema operativo, o un compilatore e un modulo di run-time liberano porzioni di memoria non più utilizzate dalle applicazioni. In altre parole, il garbage collector annoterà le aree di memoria non più referenziate, cioè allocate da un processo attivo, e le libererà automaticamente. La garbage collection è stata inventata nel 1959 da John McCarthy per il linguaggio di programmazione Lisp. (it) In de informatica is garbage collection (Engels voor "afvalinzameling"), afgekort GC, een vorm van automatisch geheugenbeheer. De garbage collector probeert geheugen vrij te geven dat in gebruik is door objecten die niet meer door de applicatie aangeroepen zullen worden. Garbage collection werd rond 1959 uitgevonden door John McCarthy om de problemen van handmatig geheugenbeheer op te lossen in de door hem net ontwikkelde programmeertaal Lisp. Het principe van een garbage collector is als volgt: (nl) Coletor de lixo (em inglês: garbage collector, ou o acrônimo GC) é um processo usado para a automação do gerenciamento de memória. Com ele é possível recuperar uma área de memória inutilizada por um programa, o que pode evitar problemas de vazamento de memória, resultando no esgotamento da memória livre para alocação. Esse sistema contrasta com o gerenciamento manual de memória, em que o programador deve especificar explicitamente quando e quais objetos devem ser desalocados e retornados ao sistema. Entretanto, muitos sistemas usam uma combinação das duas abordagens. (pt) Odśmiecanie pamięci (ang. garbage collection), zbieranie nieużytków, automatyczna dealokacja – jedna z metod automatycznego zarządzania dynamicznie przydzielaną pamięcią, w której za proces jej zwalniania odpowiedzialny jest nie programista, lecz programowy zarządca noszący nazwę garbage collector. Pierwsza metoda odśmiecania była opracowana w 1959 roku przez Johna McCarthy’ego w celu rozwiązania problemu ręcznego zarządzania pamięcią w Lispie. Mechanizm ten następnie został szeroko rozpowszechniony i jest wykorzystywany w wielu wysokopoziomowych językach programowania, takich jak: Smalltalk, Python, Ruby, Java, C# czy D. (pl)
rdfs:label جمع القمامة (حاسوب) (ar) Recollida de memòria brossa (ca) Garbage collection (cs) Garbage Collection (de) Συλλογή απορριμμάτων (υπολογιστές) (el) Senrubigo (en komputado) (eo) Recolector de basura (es) Pengumpulan sampah (ilmu komputer) (in) Garbage collection (computer science) (en) Garbage collection (it) Ramasse-miettes (informatique) (fr) 쓰레기 수집 (컴퓨터 과학) (ko) ガベージコレクション (ja) Garbage collection (nl) Odśmiecanie pamięci (pl) Coletor de lixo (informática) (pt) Сборка мусора (ru) Skräpsamling (sv) Збирання сміття (uk) 垃圾回收 (計算機科學) (zh)
owl:sameAs freebase:Garbage collection (computer science) dbpedia-de:Garbage collection (computer science) yago-res:Garbage collection (computer science) http://d-nb.info/gnd/4269286-6 wikidata:Garbage collection (computer science) dbpedia-ar:Garbage collection (computer science) dbpedia-bg:Garbage collection (computer science) dbpedia-ca:Garbage collection (computer science) dbpedia-cs:Garbage collection (computer science) dbpedia-da:Garbage collection (computer science) dbpedia-el:Garbage collection (computer science) dbpedia-eo:Garbage collection (computer science) dbpedia-es:Garbage collection (computer science) dbpedia-fa:Garbage collection (computer science) dbpedia-fi:Garbage collection (computer science) dbpedia-fr:Garbage collection (computer science) dbpedia-gl:Garbage collection (computer science) dbpedia-he:Garbage collection (computer science) dbpedia-hr:Garbage collection (computer science) dbpedia-hu:Garbage collection (computer science) dbpedia-id:Garbage collection (computer science) dbpedia-it:Garbage collection (computer science) dbpedia-ja:Garbage collection (computer science) dbpedia-ko:Garbage collection (computer science) http://lt.dbpedia.org/resource/Šiukšlių_surinktuvas http://mn.dbpedia.org/resource/Garbage_collection dbpedia-ms:Garbage collection (computer science) http://my.dbpedia.org/resource/Garbage_collection_(computer_science) dbpedia-nl:Garbage collection (computer science) dbpedia-no:Garbage collection (computer science) dbpedia-pl:Garbage collection (computer science) dbpedia-pt:Garbage collection (computer science) dbpedia-ru:Garbage collection (computer science) dbpedia-simple:Garbage collection (computer science) dbpedia-sl:Garbage collection (computer science) dbpedia-sr:Garbage collection (computer science) dbpedia-sv:Garbage collection (computer science) http://ta.dbpedia.org/resource/நினைவகச்_சுத்திகரிப்பு dbpedia-tr:Garbage collection (computer science) dbpedia-uk:Garbage collection (computer science) dbpedia-zh:Garbage collection (computer science) https://global.dbpedia.org/id/2yi5w
prov:wasDerivedFrom wikipedia-en:Garbage_collection_(computer_science)?oldid=1121230281&ns=0
foaf:depiction wiki-commons:Special:FilePath/Structure_and_Interpretation_of_Computer_Programs_p.764a.gif wiki-commons:Special:FilePath/Structure_and_Interpretation_of_Computer_Programs_p.764b.gif
foaf:isPrimaryTopicOf wikipedia-en:Garbage_collection_(computer_science)
is dbo:genre of dbr:Boehm_garbage_collector
is dbo:knownFor of dbr:Erez_Petrank
is dbo:wikiPageDisambiguates of dbr:GC dbr:Garbage_collection_(disambiguation)
is dbo:wikiPageRedirects of dbr:Object_pinning dbr:Root_set dbr:Garbage_collected_language dbr:Automatic_memory_management dbr:Garbage_collection_(computing) dbr:Compacting_garbage_collection dbr:Deterministic_garbage_collector dbr:Parallel_scavenge_garbage_collector dbr:Automatic_garbage_collection dbr:Garbage_collected dbr:Garbage_collector_(computer_science) dbr:Garbage_collector_(computing) dbr:Generational_GC dbr:Compile-time_garbage_collection dbr:Computer_memory_garbage_collection dbr:Moving_garbage_collector dbr:Stop-the-world_gc
is dbo:wikiPageWikiLink of dbr:Power_ISA dbr:Proxmox_Backup_Server dbr:PyPy dbr:Python_(programming_language) dbr:Qore_(programming_language) dbr:Ruby_(programming_language) dbr:Sather dbr:Scaleform_GFx dbr:Scilab dbr:Ephemeron dbr:List_of_algorithms dbr:List_of_functional_programming_topics dbr:Method_(computer_programming) dbr:Mutator dbr:Memory_debugger dbr:Memory_leak dbr:SECD_machine dbr:Tail_call dbr:Bigtable dbr:BlackBox_Component_Builder dbr:Boehm_garbage_collector dbr:Boxing_(computer_science) dbr:David_F._Bacon dbr:Deno_(software) dbr:Algorithmic_efficiency dbr:Allocator_(C++) dbr:Android_Runtime dbr:Append-only dbr:HotSpot_(virtual_machine) dbr:Julia_(programming_language) dbr:List_of_educational_programming_languages dbr:Persistent_data_structure dbr:Perst dbr:Pharo dbr:Rekursiv dbr:Rhino_(JavaScript_engine) dbr:Ur_(programming_language) dbr:V8_(JavaScript_engine) dbr:Vala_(programming_language) dbr:Visual_Basic_.NET dbr:Dead_store dbr:Destructor_(computer_programming) dbr:Incremental_compiler dbr:Information_Processing_Language dbr:Inline_caching dbr:Instruments_(software) dbr:Intel_i960 dbr:Intel_iAPX_432 dbr:Interpreter_(computing) dbr:Intrusion_detection_system_evasion_techniques dbr:J._Eliot_B._Moss dbr:JFFS dbr:GC dbr:List_of_programming_language_researchers dbr:.NET_Framework dbr:.NET_Micro_Framework dbr:Commodore_128 dbr:Common_Language_Runtime dbr:Comparison_of_C_Sharp_and_Java dbr:Comparison_of_Java_and_C++ dbr:Memory_management dbr:Rust_(programming_language) dbr:SIOD dbr:SNOBOL dbr:Software_aging dbr:Circular_dependency dbr:Class_Library_for_Numbers dbr:Clean_(programming_language) dbr:Coalescing_(computer_science) dbr:Cobra_(programming_language) dbr:Eiffel_(programming_language) dbr:Emacs_Lisp dbr:Function_(computer_programming) dbr:GNU_Guile dbr:Game_Oriented_Assembly_Lisp dbr:Genera_(operating_system) dbr:George_E._Collins dbr:Git dbr:Glossary_of_computer_science dbr:Go_(programming_language) dbr:Modula-2+ dbr:Modula-3 dbr:Mozilla dbr:MultiLisp dbr:NILFS dbr:NIL_(programming_language) dbr:Concurrent_mark_sweep_collector dbr:Continuation-passing_style dbr:Damien_Doligez dbr:Dangling_pointer dbr:Erez_Petrank dbr:Object_pinning dbr:Root_set dbr:Android_13 dbr:Android_version_history dbr:Anonymous_function dbr:Apache_CouchDB dbr:Apache_Harmony dbr:Applesoft_BASIC dbr:ArangoDB dbr:Limbo_(programming_language) dbr:Lisp_(programming_language) dbr:Lua_(programming_language) dbr:ML_(programming_language) dbr:MacOS_Sierra dbr:Mac_OS_X_Leopard dbr:Simula dbr:Singularity_(operating_system) dbr:Smalltalk dbr:Stalin_(Scheme_implementation) dbr:Standard_Widget_Toolkit dbr:Closure_(computer_programming) dbr:Comparison_of_programming_languages_(associative_array) dbr:Compilers:_Principles,_Techniques,_and_Tools dbr:Computer_program dbr:Funarg_problem dbr:Functional_programming dbr:Housekeeping_(computing) dbr:Garbage_collected_language dbr:Object_pool_pattern dbr:Parrot_assembly_language dbr:Platform_Invocation_Services dbr:Plessey_System_250 dbr:Pointer_(computer_programming) dbr:Programming_language_theory dbr:Stale_pointer_bug dbr:Typed_assembly_language dbr:Mark–compact_algorithm dbr:Matrix_clock dbr:AutoLISP dbr:Automatic_memory_management dbr:Azul_Systems dbr:BASIC_interpreter dbr:Bup dbr:C++ dbr:C++/CLI dbr:CLR_Profiler dbr:CMU_Common_Lisp dbr:C_(programming_language) dbr:C_Sharp_(programming_language) dbr:Actor_(programming_language) dbr:Cecil_(programming_language) dbr:Ceres_(workstation) dbr:Aicas dbr:Thrashing_(computer_science) dbr:Data_(computer_science) dbr:Data_set_(IBM_mainframe) dbr:WebAssembly dbr:WebGL dbr:Windows_Runtime dbr:Distributed_Component_Object_Model dbr:Distributed_garbage_collection dbr:Fusion-io_NVMFS dbr:GameMonkey_Script dbr:Garbage-first_collector dbr:Garbage_(computer_science) dbr:Hash_consing dbr:Hash_function dbr:Hashlife dbr:Juice_(JVM) dbr:Lambda_lifting dbr:Lapsed_listener_problem dbr:Lisp_machine dbr:Log-structured_File_System_(BSD) dbr:Log-structured_file_system dbr:Unreachable_memory dbr:A2_(operating_system) dbr:ALGOL_68C dbr:ATS_(programming_language) dbr:Acid3 dbr:ActiveVFP dbr:Actor_model_middle_history dbr:Ada_(programming_language) dbr:Cyclone_(programming_language) dbr:D_(programming_language) dbr:Da_Vinci_Machine dbr:Dart_(programming_language) dbr:Darwin_(operating_system) dbr:ECLiPSe dbr:ELKI dbr:Erlang_(programming_language) dbr:Euphoria_(programming_language) dbr:Fragmentation_(computing) dbr:Bartok_(compiler) dbr:Breadth-first_search dbr:Bridging_(programming) dbr:Nim_(programming_language) dbr:Non-uniform_memory_access dbr:PDP-10 dbr:PHP dbr:ParaSail_(programming_language) dbr:PascalABC.NET dbr:Pascal_(programming_language) dbr:Cargo_cult_programming dbr:Foreign_function_interface dbr:Google_litigation dbr:History_of_Python dbr:History_of_programming_languages dbr:History_of_software_engineering dbr:Journaling_file_system dbr:Garbage_collection_(computing) dbr:William_Clinger_(computer_scientist) dbr:List_of_Lisp-family_programming_languages dbr:Garbage_collection_(disambiguation) dbr:Page_replacement_algorithm dbr:Reachability dbr:Reference_(computer_science) dbr:Region-based_memory_management dbr:Resource_management_(computing) dbr:Harlequin_(software_company) dbr:Henry_Baker_(computer_scientist) dbr:History_of_Ruby dbr:Internet_Explorer_8 dbr:Io_(programming_language) dbr:JFFS2 dbr:JamaicaVM dbr:Jamie_Zawinski dbr:JavaScript_syntax dbr:Java_(programming_language) dbr:Java_(software_platform) dbr:Java_Database_Connectivity dbr:Java_version_history dbr:Tamarin_(software) dbr:XOR_linked_list dbr:Asm.js dbr:Assembly_language dbr:ABA_problem dbr:ACM_Transactions_on_Programming_Languages_and_Systems dbr:Abstract_machine dbr:Chakra_(JScript_engine) dbr:Chicken_(Scheme_implementation) dbr:Alef_(programming_language) dbr:Jikes_RVM dbr:John_McCarthy_(computer_scientist) dbr:Kaleida_Labs dbr:LFE_(programming_language) dbr:SuperCollider dbr:Symbolic_artificial_intelligence dbr:Symbolics dbr:SystemVerilog dbr:TADS dbr:TLA+ dbr:TRIX_(operating_system) dbr:Henry_Lieberman dbr:Java_Card dbr:Java_Management_Extensions dbr:Java_Platform,_Standard_Edition dbr:Java_performance dbr:Java_syntax dbr:Java_virtual_machine dbr:XPL dbr:Reference_counting dbr:Dice_(programming_language) dbr:Manual_memory_management dbr:Burroughs_large_systems_descriptors dbr:C++/CX dbr:C-- dbr:COFFEE_(Cinema_4D) dbr:Plumbr dbr:PostScript dbr:SpiderMonkey dbr:Splay_tree dbr:Squirrel_(programming_language) dbr:Finalizer dbr:ILNumerics dbr:Idris_(programming_language) dbr:Impromptu_(programming_environment) dbr:Inferno_(operating_system) dbr:Integer_BASIC dbr:Mercury_(programming_language) dbr:Mesa_(programming_language) dbr:MicroPython dbr:Naoki_Yoshida dbr:NekoVM dbr:NewLISP dbr:NewtonScript dbr:OCaml dbr:Oberon-2 dbr:Objective-C dbr:OpenJ9 dbr:OpenLisp dbr:Open_Cobalt dbr:RScheme dbr:RTL/2 dbr:Railo dbr:Red_(programming_language) dbr:Self_(programming_language) dbr:WoW64 dbr:Xcode dbr:System_call dbr:Memory_safety dbr:Rope_(data_structure) dbr:Runtime_system dbr:STW_(disambiguation) dbr:Shingled_magnetic_recording dbr:Type_safety dbr:SLIP_(programming_language) dbr:Variable_(computer_science) dbr:Write_amplification dbr:Segmentation_fault
is dbp:genre of dbr:Boehm_garbage_collector
is foaf:primaryTopic of wikipedia-en:Garbage_collection_(computer_science)