«garbage-collection» etiketlenmiş sorular

Çöp toplama (GC), çöpü veya artık program tarafından kullanılmayan nesnelerin kapladığı belleği geri almaya çalışan bir otomatik bellek yönetimi biçimidir.

4
Olay işleyicileri çöp toplama işlemini engelliyor mu?
Aşağıdaki kod varsa: MyClass pClass = new MyClass(); pClass.MyEvent += MyFunction; pClass = null; PClass çöp toplanacak mı? Yoksa olayları meydana geldiklerinde tetiklemeye devam edecek mi? Çöp toplamaya izin vermek için aşağıdakileri yapmam gerekecek mi? MyClass pClass = new MyClass(); pClass.MyEvent += MyFunction; pClass.MyEvent -= MyFunction; pClass = null;

2
.NET'te çöp toplamayı anlama
Aşağıdaki kodu göz önünde bulundurun: public class Class1 { public static int c; ~Class1() { c++; } } public class Class2 { public static void Main() { { var c1=new Class1(); //c1=null; // If this line is not commented out, at the Console.WriteLine call, it prints 1. } GC.Collect(); GC.WaitForPendingFinalizers(); …

6
JavaScript kapanışları çöp nasıl toplanır
Kodumda birçok ciddi ve açık olmayan bellek sızıntısına yol açan aşağıdaki Chrome hatasını girdim : (Bu sonuçlar, Chrome Dev Tools'un GC'yi çalıştıran ve daha sonra toplanmayan her şeyin yığın anlık görüntüsünü alan bellek profillerini kullanır .) Aşağıdaki kodda, someClassörnek çöp toplanır (iyi): var someClass = function() {}; function f() { …

11
Nasıl işlenir: java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize () 10 saniye hatadan sonra zaman aşımına uğradı mı?
Biz bir takım görüyoruz TimeoutExceptionsiçinde GcWatcher.finalize, BinderProxy.finalizeve PlainSocketImpl.finalize. Bunların% 90'ı Android 4.3'te gerçekleşiyor. Bu konuda sahadaki kullanıcılardan Crittercism'den raporlar alıyoruz. Hata şunun bir varyasyonudur: " com.android.internal.BinderInternal$GcWatcher.finalize() timed out after 10 seconds" java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds at android.os.BinderProxy.destroy(Native Method) at android.os.BinderProxy.finalize(Binder.java:459) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:187) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170) at java.lang.Thread.run(Thread.java:841) Şimdiye …

24
GC.Collect'i aramak ne zaman kabul edilebilir?
Genel tavsiye, GC.Collectkodunuzdan arama yapmamanızdır , ancak bu kuralın istisnaları nelerdir? Sadece bir çöp toplama zorlamanın mantıklı olabileceği birkaç özel durumu düşünebilirim. Akla gelen örneklerden biri, aralıklarla uyanan, bazı görevleri yerine getiren ve uzun süre uyuyan bir hizmettir. Bu durumda, boşta kalacağınız sürecin gerekenden daha fazla belleğe tutunmasını önlemek için …


9
C ++ 'da Yığın, Statik ve Yığın
Aradım, ama bu üç kavramı çok iyi anlamadım. Dinamik ayırmayı ne zaman (yığın içinde) kullanmam gerekir ve gerçek avantajı nedir? Statik ve yığın problemleri nelerdir? Yığına değişkenler ayırmadan bir uygulamanın tamamını yazabilir miyim? Diğer dillerin bir "çöp toplayıcı" içerdiğini duydum, böylece bellek konusunda endişelenmenize gerek yok. Çöp toplayıcı ne yapar? …

6
Dosyaları açıkça kapatmak önemli mi?
Python'da, bir dosyayı çağırmadan açarsanız close()veya dosyayı kapatır ancak try- finallyveya " with" ifadesini kullanmazsanız, bu bir sorun mudur? Yoksa tüm dosyaları kapatmak için Python çöp koleksiyonuna güvenmek bir kodlama uygulaması mıdır? Örneğin, biri bunu yaparsa: for line in open("filename"): # ... do stuff ... ... bu bir sorun mu …




1
Python çöp toplayıcı belgeleri [kapalı]
Kapalı. Bu soru Yığın Taşması yönergelerini karşılamıyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Yığın Taşması için konuya uygun olması için soruyu güncelleyin . 5 yıl önce kapalı . Bu soruyu geliştirin Python çöp toplama işleminin nasıl çalıştığını ayrıntılı olarak açıklayan belgeler arıyorum. Hangi adımda ne …

5
Haskell programında çöp toplama duraklama süresinin azaltılması
"Mesajları" alan ve ileten, bu mesajların geçici bir geçmişini tutarken, istenirse size mesaj geçmişini söyleyebilecek bir program geliştiriyoruz. Mesajlar sayısal olarak tanımlanır, tipik olarak yaklaşık 1 kilobayt boyutundadır ve bu mesajlardan yüz binlerce saklamamız gerekir. Bu programı gecikme için optimize etmek istiyoruz: mesaj gönderme ve alma arasındaki süre 10 milisaniyenin …

3
Java GC (Ayırma Hatası)
Neden her zaman "GC (Tahsis Başarısızlığı)"? Linux-amd64 JRE ( 1.8.0_25 -b17) için Java HotSpot (TM) 64-Bit Sunucu VM (25.25- b02), CommandLine flags: -XX:CMSInitiatingOccupancyFraction=60 -XX:GCLogFileSize=10485760 -XX:+HeapDumpOnOutOfMemoryError -XX:InitialHeapSize=32212254720 -XX:MaxHeapSize=32212254720 -XX:NewRatio=10 -XX:OldPLABSize=16 -XX:ParallelGCThreads=4 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintStringTableStatistics -XX:+PrintTenuringDistribution -XX:StringTableSize=1000003 -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=50 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 27.329: [GC (Allocation Failure) 27.329: [ParNew Desired survivor …

4
"Git gui" çalıştırılırken "Gevşek Nesne" açılır penceresini atlama
'Git gui'yi çalıştırdığımda yazan bir açılır pencere görüyorum Bu depoda şu anda yaklaşık 1500 gevşek nesne var. Daha sonra veritabanının sıkıştırılmasını önerir. Bunu daha önce yaptım ve gevşek nesneleri yaklaşık 250'ye düşürdü, ancak bu pop-up'ı engellemiyor. Yeniden sıkıştırmak, gevşek nesnelerin sayısını değiştirmez. Mevcut iş akışımız, Perforce'dan geçiş yaparken önemli ölçüde …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.