Menu
  • HOME
  • TAGS

Why WeakReference to a WeakRef object is not garbage collected?

java,garbage-collection

GC will not delete WeakReference itself, it will delete only the object it references, so map will still contain the WeakReference. What you should check is weakReference.get(). This should return null after gc(). Just in case, make a Thread.sleep(1000) before check, so that GC has some time to do its...

Can Collections.unmodifiableMap retain the original map?

java,dictionary,garbage-collection,unmodifiable

The returned Map is just a "view" which wraps around the Map passed in. So yes, tmpMap will be retained as long as MY_MAP is alive. Since MY_MAP is a static final field, tmpMap will be retained basically forever. unmodifiableMap: Returns an unmodifiable view of the specified map. [...] Query...

A useful metric for determining when the JVM is about to get into memory/GC trouble

java,scala,garbage-collection,jvm

One reliable way is to register a notification listener on GC events and check the memory health after all Full GC events. Directly after a full GC event, the memory used is your actual live set of data. If you at that point in time are low on free memory...

Android - Javascript Interface with pointer to WebView - how to achive it without memleak

java,javascript,android,webview,garbage-collection

WebView will hold your object (the instance of JSInterface) until you call removeJavascriptInterface("appBridge") and reload your page. But this kind of a circular reference isn't actually a problem for a mark-compact collector (used in languages with built-in garbage collection, like Java or JavaScript), because once such looped construction doesn't have...

What causes long spin and sync times in Java?

java,garbage-collection,g1gc

The problem here is that it takes your application a long time to reach a safepoint. The Stopping threads output denotes the time it takes between the JVM issues a safepoint request until all threads have reached a safepoint. The sync value shows same thing - it is the time...

why do I have to swapCursor(null) in onLoaderReset?

java,android,garbage-collection,android-loadermanager,android-loader

Activities will not be garbage collected if its underlying members are referencing out side of the activity. It will be garbage collected when all its members are may not be used in the future. if swapCursor(null); will remove all the underlying references with the cursor. otherwise it will create a...

G1 young GC does not free memory - to-space exhausted

java,garbage-collection

You are suffering from evacuation failures as can be seen by the to-space exhausted part of the start message for the collection. This occurrs when there is not enough free space on your heap to promote survived or promoted objects (or both) and the heap can not be expanded more....

Rotating bitmap in main game loop without overloading GC in Android

java,android,bitmap,garbage-collection

Some think like this: Bitmap image; Matrix m; . . . public YourClass(){ m = new Matrix(); image = Bitmap.createBitmap(image, 0, 0, width, height,); } . . . public void mainGameLoop(Canvas c){ m.setRotate(angle, imageCenterX, imageCenterY); yourCanvas.drawBitmap(image, m, null); } ...

how does the mark (in mark-and-sweep) function trace out the set of objects accessible from the roots?

c++,c,garbage-collection

There's usually a root set, not just a single root object. The root set is basically all global variables, and all currently active local variables (e.g., all locals that are currently on the stack). One of the real difficulties with adding garbage collection to C or C++ is the possibility...

Unclear about V8 Garbage Collection

javascript,node.js,garbage-collection,v8

Both shirt (1, 2) and callback (3) are referenced by inner functions. Thus their bindings have to be heap-allocated, and will only become garbage when all those inner functions have become garbage. In this example, that will happen after async.series has finished execution and dropped its reference to the array...

How GC suspends/blocks the application threads

java,garbage-collection

But I would like to understand how GC suspends all the running threads? The hotspot implementation uses safepoint polling. To quote: How safepoints work? Safepoint protocol in HotSpot JVM is collaborative. Each application thread checks safepoint status and park itself in safe state in safepoint is required. For compiled...

Windows task manager javaw.exe memory vs Java Mission Control

java,memory,garbage-collection

When the JVM starts up, it allocates a continuous region of memory for the heap. This memory can be turned into real memory lazily but almost never is passed back to the operating system. The heap is but one region of memory the JVM uses. It may be the most...

Can Java GC items iterated past?

java,garbage-collection,jvm

No, the list reference is still live (and thereby also the references to the integer objects). The JVM will not deduce that the list is half-way traversed and that some Integer objects will not be needed anymore. If you want the objects to be eligible for garbage collection, you'll have...

Static variables in POJO and garbage collection of objects and classes

java,garbage-collection,static-members

No, the static field will not prevent garbage collection of your subclasses (if it did, this would be a major problem, making static fields almost unusable in a garbage-collected language!) You can test this by adding a finalizer to your classes, then create a bunch of them in a loop,...

Effect of setting -XX:+PerfDisableSharedMem JVM flag to false

java,garbage-collection,jvm

Then /tmp/hsperfdata* won't be written. Which, according to hotspot-runtime-dev discussions, will prevent some performance monitoring command line tools from automatically discovering running VMs automagically. They can still attach to the running process if the PID is specified explicitly.

GC cleaning the object before calling onPictureTaken method

android,garbage-collection,picturecallback

I figured out that problem is my method (takePicture), which was being closed before the onPictureTaken was called. I solved the problem putting a delay into the takePhoto method.

delete ref to object in array javascript

javascript,garbage-collection

I recommend taking a look at Deleting Objects in JavaScript, When should I use delete vs setting elements to null in JavaScript? and Memory Management (nice reference, @Karthick). Since Javascript is garbage collected, you don't need to delete objects themselves - they will be removed when there is no way...

WPF ViewModel GC

c#,wpf,mvvm,memory-leaks,garbage-collection

Actually you do have dependency injection right now, since you are injecting the viewmodel into the dialog via constructor. While the dialog view is running, it contains a reference to dialogViewModel in MainViewModel. When you close the dialog, the control is given back to the OnModelRaisedEvent method, and immediately after...

How to subscribe to an event without preventing garbage collection?

c#,design-patterns,garbage-collection

After writing the and question and doing my last search-before-posting on weak bindings I came across the weak event pattern that does exactly what I want

Potential causes of memory leaks in Android

java,android,memory-leaks,garbage-collection

Is there anything else that I should watch that may cause a noticeable memory leak? Declaring a member field static almost guarantees a memory leak. Anonymous classes that last beyond the lifetime of the parent class, such as Volley Requests, also produce memory leaks, because they hold an implicit...

No evacuation failures but still FullGC in G1GC

java,garbage-collection,g1gc

It's likely not a good idea to run G1GC on java 7. Back then it had a lot of problematic behaviors. Among them that class unloading needed a full GC, this has been fixed with jdk8u40 Not to mention that GC logs give more useful information in 8. Other causes...

Memory leak in MediaPlayer

c#,multithreading,garbage-collection,threadpool

My guess is that the Thread objects created aren't garbage collected in time. As you are stating in your comment that you are out of luck with respect to finding a solution that doesn't involve a memory leak, I'm posting this alternative as an answer even though it doesn't attempt...

C# Garbage Collector Begin/End Callback [duplicate]

c#,callback,garbage-collection

You can't get notification directly in manged code because managed code is suspended (or at least not guaranteed to run your thread in case of background GC) during GC. Options: You can get approximate notification with GC.RegisterForFullGCNotification as shown in Garbage Collection Notifications article. You can watch performance counters related...

How to delete a thread in Java

java,multithreading,garbage-collection

It looks like your Client class is either extending from Thread or implementing Runnable. Either ways, your Client class is running an infinite while(true) loop. Unless this loop exits, the Client class won't be garbage collected. Therefore, you need to break out of the while(true) loop. while (true) { try{...

Prevent object from getting garbage collected

c#,garbage-collection

no, the GC won't collect the TaskTimerObject. the field TaskTimer is a Root Referance which points to TaskTimerObject....

Drop reference when only a single link to it

c#,reference,garbage-collection

The best choice would be just .Clear() the dictionary when the UI becames invisible

Why does waiting too long to promote an object from the young generation result in less efficiency?

java,performance,garbage-collection,jvm

Copying. Most objects in the young generation die and don't get touch by the GC at all (yes, it's actually a survivor collector, live objects gets copied and what's left is free memory). An object surviving several minor collections will probably live long. So copying it again and again would...

.NET GC deleting object in use

c#,garbage-collection

Surely, this can't be really happening and I must be doing something wrong. Nope, it can absolutely be happening (this is why writing finalizers is hard, and you should avoid them where you can, and be very careful when forced to write them). An object can be GC-ed as...

G1 doesn't process soft references

java,garbage-collection,g1gc,g1

Perhaps you are confusing with weak references? The GC is not forced to collect soft references, unless it finds itself under severe memory pressure. See here for more information. In particular, notice the following quote from the documentation: Soft reference objects, which are cleared at the discretion of the garbage...

WebSphere 7 - Can excessive Garbage Collection lead to out of memory?

java,memory-leaks,garbage-collection,websphere

The error message you get indicate a problem with native memory, that is, memory outside the heap. The garbage collector is not responsible for off-the-heap memory, why you can not affect this error with garbage collector settings. Excessive garbage collecting should not lead to native memory issues (unless there is...

Counting total objects queued for garbage collection

c#,garbage-collection

(Question title:) "Counting total objects queued for garbage collection" (From the question's body:) "My problem, however, is that I can't seem to find a way to count the total objects currently alive in the various generations." Remark: Your question's title and body ask for opposite things. In the title,...

How to list all object in GC finalization list?

c#,garbage-collection,finalization

I do not think that there is a way to get at the finalization queue via .NET's managed Framework Class Library (FCL). I suspect that if you want to do this programmatically instead of debugging with WinDbg, you (just like WinDbg and similar tools) will need to use the CLR's...

Should I really implement IDisposable in this case?

c#,garbage-collection,idisposable

If you don't have ownership of the "object" you mustn't dispose it. There are some classes (like StreamReader for example) that have a configuration option to tell if they should take ownership of the Stream you pass them. Clearly StreamReader must be IDisposable and do some logic check For example:...

ruby c extension how to manage garbage collection between 2 objects

ruby,garbage-collection,ruby-c-extension

In the mark function for your B class, you should mark the A Ruby object, telling the garbage collector not to garbage collect it. The mark function can be specified as the second argument to Data_Wrap_Struct. You might need to modify your design somehow to expose a pointer to the...

C# calling IDisposable.Dispose() vs making object null

c#,memory-leaks,garbage-collection,idisposable

Now it was suggested to me that check if a "having-a" object is implementing IDisposable then call the dispose method of it. IDisposable is a pattern that is used to free unmanaged resources that need to be explicitly released, as the GC isn't aware of them. Usually, a class...

What happens to unused return values?

java,garbage-collection,return-value

The compiler sees that it is not used and just leaves the value on the (return) stack unassigned aka removes it. If you assign it but not use it, it lives until this references is not longer in use. See the attached screenshot. Eclipse and a bytecode plugin. Under L0,...

Creating and returning object from function: can this avoid garbage collection?

javascript,object,scope,garbage-collection,return-by-reference

It (the execution context) will be eligible for garbage collection. (The function object itself will be kept alive of whoever called it to begin with, until that object dies - but it will not be kept alive by the returned 'newObj'.) Just because a reference to the object is stored...

Java 8 Metaspace - Avoid decrease

java,garbage-collection,metaspace

Setting MaxMetaspaceFreeRatio=100 should prevent it from shrinking

Create variable or call method few times - What's better?

c#,variables,methods,garbage-collection

In general, when you need to use the result of a method call multiple times, you should assign it to a local variable first. The local variable would only require your method's stack frame to be a few bytes larger (8 bytes for an object variable on 64-bit), and would...

nodejs decrease v8 garbage collector memory usage

node.js,memory-management,garbage-collection,v8

You need to control the max memory size flags (all sizes are taken in MB). The recommended amounts for a "low memory device" are: node --max-executable-size=96 --max-old-space-size=128 --max-semi-space-size=1 app.js for 32-bit and/or Android and node --max-executable-size=192 --max-old-space-size=256 --max-semi-space-size=2 app.js for 64-bit non-android. These would limit the heap totals to 225mb...

G1GC Strange behavior

java,garbage-collection,g1gc

You are suffering from System.gc() calls as can be seen in your log: 2015-06-14T14:56:23.682+0300: 12790,173: [Full GC (System.gc()) 121M->118M(1024M), 0,4524898 secs] [Eden: 4096,0K(561,0M)->0,0B(561,0M) Survivors: 0,0B->0,0B Heap: 121,7M(1024,0M)->118,2M(1024,0M)], [Metaspace: 135216K->135216K(1177600K)] [Times: user=0,71 sys=0,00, real=0,45 secs] 2015-06-14T14:57:23.682+0300: 12850,174: [Full GC (System.gc()) 121M->118M(1024M), 0,4732930 secs] [Eden: 3072,0K(561,0M)->0,0B(561,0M) Survivors: 0,0B->0,0B Heap:...

What is the best way to clear a BST for garbage collection?

java,garbage-collection,binary-search-tree

Any object that cannot be reached by any live thread will be eligible for garbage collection. Based on that: Yes. No. Depends on the implementation of GC. Anyway, as a Java programmer, you can't control it. All you can do is have a trust that it will do its job...

How local variable usage infomation is maintained in .net clr source code

.net,garbage-collection,clr,jit

Disclaimer: I'm no expert on the CLR or RyuJIT. I may be completely wrong about all of this. I came across the following section in the RyuJIT chapter of the Book of the Runtime: For lvlVars with tracked lifetimes, or for expression involving GC references, we report the range over...

PHP Garbage collection when nullifying

php,garbage-collection

You will only ever modify the variable inside the function. Your Bob instance will continue to exist, because variables outside the function are still referencing it. Bob won't get garbage collected until all references to it are gone/have become inaccessible. An object instance exists somewhere in a pool of object...

Manually calling System.GC.Collect() changes action of Windows Forms application

c#,.net,winforms,garbage-collection

It is a premature collection problem. You can see that for yourself by adding this class: class MyContextMenu : ContextMenu { public MyContextMenu(MenuItem[] items) : base(items) { } ~MyContextMenu() { Console.WriteLine("Oops"); } } And using MyContextMenu instead of ContextMenu. Note how you see "Oops" when you call GC.Collect(). There is...

How to keep very big elements on memory without exhausting the garbage collector?

haskell,optimization,garbage-collection,ghc

gloss is the culprit here. First, a little background on GHC's garbage collector. GHC uses (by default) a generational, copying garbage collector. This means that the heap consists of several memory areas called generations. Objects are allocated into the youngest generation. When a generation becomes full, it is scanned for...

Garbage collection of finished, unreferenced Timers

actionscript-3,timer,garbage-collection

Right, so I did a little experimentation to see what I could find, my code is below. I'm not 100% certain on any of this, but my main points of discovery are: Yes, stopped Timers will eventually be collected. Removing the listener works just as well. Using weakly referenced listeners...

DOM nodes not garbage collected

javascript,memory-leaks,garbage-collection,google-chrome-devtools

Per your request, adding this as an asnwer. Have you looked at more details on any of these DOM elements to see which DOM elements they are and perhaps that gives you a clue as to what code would have ever referenced them. One source of references that trips some...

Garbage Collection invalidates FileDescriptor?

android,garbage-collection,file-descriptor

You aren't retaining a reference to the AssetFileDescriptor created by openFd(). When it gets GC'ed, it has an internal ParcelFileDescriptor that is also eventually GC'ed. That, in turn, has the reference to the FileDescriptor that you are retrieving in the call to getFileDescriptor(). It also happens to have a finalize()...

Dispose/finalize pattern : disposing managed ressources

c#,garbage-collection,dispose,finalize

My question is : How can I free the attributes of Base in the Dispose method ? (_String, classe1, foo) You don't need to, that's the job of the garbage collector. Implementing IDisposable is a way for the framework to let you release any unmanaged resources you have allocated,...

Why are there so many implementations of Object Pooling in Roslyn?

c#,.net,garbage-collection,roslyn

I'm the lead for the Roslyn performance v-team. All object pools are designed to reduce the allocation rate and, therefore, the frequency of garbage collections. This comes at the expense of adding long-lived (gen 2) objects. This helps compiler throughput slightly but the major effect is on Visual Studio responsiveness...

c# Check Garbage Collection [duplicate]

c#,garbage-collection

Is there any way to check what classes are collected by GC and what are not? No, because to check on an object you'd still need a reference to it and that would prevent its collection. You can build an administration with WeakReferences but that would be awkward and...

Will Application pause during minor GC in java?

java,garbage-collection

Will the whole application stop serving the requests during Minor GC execution? Yes, AFAIK every collector (apart from some commercial, expensive implementations perhaps) will stop the world for GC collection. It won't necessarily stop the world for the entirety of its pass, but it will contain a stop the...

Clear memory after some number of records passed

ruby-on-rails,ruby,garbage-collection,sidekiq

You should always use find_each when dealing with potentially large tables. That way, models will be retrieved from the database and loaded in memory batch by batch (the default size is 1000 but you can customize it to your needs). Just be aware that sorting by arbitrary columns doesn't play...

Are null and undefined equally valid for explicitly making objects unreachable?

javascript,garbage-collection

It does not matter what value you assign: it might be null, undefined, {} or 42. What matters is that you need to break the connection between a variable and an object in heap. As soon as an object is not reachable - it's a candidate for being collected, regardless...

Can I force collection for objects of certain type only?

c#,.net,com,garbage-collection,rcw

No, It's not possible, you can only force a garbage collector to run but you can not force it to work according to your logic. For more information on garbage collector please read this: https://msdn.microsoft.com/en-us/library/ee787088(v=vs.110).aspx Also GC is a static class, we can't override any of it's method :(...

How often is garbage collected?

javascript,browser,garbage-collection

Refer to this link, your problem is not in garbage collector, i think that somewere in your code there is variables that is created and located in the memory and never released, review thees links for js best practices [1] JavaScript Best Practices [2] OOP in JS...

Using “this” in a callback vs external variable and the garbage collector

javascript,garbage-collection

This advice looks weird: the object the req variable refers to (the same the this would refer to) as well as the anonymous function objects (which are hold by onsuccess, onerror and onupgradeneeded properties) would all be garbage collectible simultaneously as soon as the query has completed and callbacks have...

JavaScript/JQuery Garbage Collection and Events

javascript,jquery,html,dom,garbage-collection

You should not worry about memory leaks if you remove element with dedicated methods like remove, replaceWith, html, etc. Those methods jQuery calles $.cleanData method. For example, for replaceWith you can see that jQuery removes events and data objects from internal cache in order to prevent leaks: if ( jQuery.inArray(...

Timer does not get garbage collected [duplicate]

c#,timer,garbage-collection

if a class contains a member that is disposable that class should implement IDisposable as well Note: BTimer needs to implement IDisposable. class Cellules : IDisposable { BTimer timer // disposable member public void Dispose() // implementing IDisposable { timer.Dispose(); } } then of course when you are done call...

Can a call to Task.GetAwaiter().OnCompleted() fail because of garbage collection?

c#,garbage-collection,task-parallel-library

In short, after appreciation of all the answers and comments, my realization about using GetAwaiter() is: don't do it. If you need it, this is most likely an indication that your asynchronous design is in badly need of refactoring....

Will .Net call Dispose for me in this case?

.net,f#,garbage-collection,idisposable

Here's everything you'll need to know about IDisposable: CLR Inside Out: Digging into IDisposable In short, Dispose will not be called by the Garbage Collector, but if the object has a finalizer, the finalizer will be called. All well-designed implementations of IDisposable that hold unmanaged resources will have a finalizer...

C# Memory Leak on on different machines

c#,memory-leaks,bitmap,garbage-collection

Not quite sure about you MemoryException, please provide full stacktrace. However, I can see you are doing an obvious mistake in your destructor. You SHOULD NOT refer your managed resources in the Destructor. The reason is being that, GC and Finalizer are using heuristic algorithms to trigger them and you...

Are Configuration.ConfigurationSettings.AppSettings values interned strings?

c#,string,garbage-collection,runtime

No. Configuration strings are regular strings and constructed at run-time - configuration files are not compiled into assemblies, so will not be interned by compiler. Note that in general the fact that string is not coming from compiled source says nothing about whether such strings are interned or not as...

-XX:+PrintTenuringDistribution doesn't print size per age

java,garbage-collection,jvm

According to this blog post it's working as intended. Well, this is the expected behavior and is not a bug. Throughput collector does not use the age table like the other collectors do. And due to that reason, the age histogram information is not printed with the throughput collector. With...

Know what objects got garbage collected

java,garbage-collection

You can use JVisualVM from your JDK to analyze memory usage. You should open your application and take a memory dump, you'll see how much memory is allocated by different classes. It can point you to right directions....

Javascript - free a memorized function

javascript,garbage-collection

You are unbinding the event handler, then immediately reapplying the same event handler to the same element. You need to re-organise your code so that you bind the event handler to the new element as you create the new row http://jsfiddle.net/2fLrsjcz/ var currentTable = $('table'); function bindKeyDown(lastEditable) { lastEditable.keydown(function(e) {...

Finilize and GC.Collect [duplicate]

.net,garbage-collection

In the first example: var h = new Haha() the variable isn't referenced anywhere, so it is removed. In this way the Haha() isn't referenced anywhere just after being created and so can be GC at any time. In the second example the variable h is referenced, so it has...

How is garbage collection triggered in JavaScript?

javascript,memory-management,garbage-collection

There are many ways GCs can be triggered allocation-triggering: there is no more room in the allocation buffers/young generation/howeveritiscalled and a GC is required to free up objectsThis gets a bit more complicated in a mixed GC/manual allocation environment. malloc wrappers might need to trigger GCs too since javascript can...

Why JVM is designed in a way that it does not allow force Garbage Collection? [closed]

java,garbage-collection,jvm

Forcing garbage collection is inefficient, and unnecessary in most cases1 ... if you have written your program correctly. Reference: Why is it bad practice to call System.gc()? It turns out that if you control the launching of the JVM that will run your application (or applet or servlet or whatever)...

VB.NET Releasing Excel file after reading so it can be overwritten

vb.net,excel,datagridview,garbage-collection,oledb

After much research and frustration, I found a solution. The connection string of my OleDB connection needs the tidbit added: OLE DB Services = -4 which disables connection pooling. As it happens, the connection is not disposed of (which was the initial hypothesis) when the connection is closed, but instead...

JVM is functioning very differently with same flags

java,garbage-collection,jvm,g1gc

I would expect than better PC would have much better results but now I don't even know which one is better... Better is subjective. Depending on whether you need throughput (fraction of CPU cycles spent GCing), sustainable allocation rates, low pause times or low footprint. Generally there's a tradeoff...

What to look for when parallelized code runs faster in Visual Studio automated tests?

c#,multithreading,visual-studio-2010,visual-studio,garbage-collection

I finally found a solution to our problem. Setting up an App.config file with gcServer set to true solved our problem. Our application is so instantiation heavy that the garbage collector was killing performance. I guess Visual Studio works its garbage collector differently when running unit tests? In the future...

Ruby GC module undefined method `malloc_allocated_size`

ruby,garbage-collection,nomethoderror

The docs are omitting that you need to edit gc.c and set CALC_EXACT_MALLOC_SIZE to 1 before recompiling ruby in order for this method to be available. This flag also turns on the tracking required to support this feature. See for example https://github.com/ruby/ruby/blob/ruby_1_9_3/gc.c#L3718...

JavaScriptCore on iOS: VM Garbage Collector not automatically emtpying

javascript,ios,swift,garbage-collection,javascriptcore

So this was kind of my own problem as I was initializing a new JavaScript VM everytime I called the function from my test. I got around that by initializing one VM at the start of my JSBridge class and voila every call got handled perfectly. But still there seems...

w3wp.exe Garbage Heap is FULL of Free object space and keeps on growing

memory-leaks,garbage-collection,heap,w3wp.exe

Thanks to the suggestion on using PerfView by magicandre1981, and after quite a few very large memory dumps, I've located this issue down to the use of DataRow.DefaultIfEmpty() in a Linq expression. It was part of a support function for carrying out a LeftJoin between two DataTables. With the DefaultIfEmpty()...

What does it mean that the D garbage collector is “not guaranteed to run the destructor for all unreferenced objects”?

garbage-collection,d,destructor,finalizer

It means both: the garbage collector may never run (the GC in D today only runs when you ask it for memory and it is already at its threshold or at program termination) and when it does run, it may not collect something, mostly due to false pointers on 32...

Does allocation performance degrade on a large number of live instances when using G1?

java,performance,garbage-collection,g1gc

As discussed in the comments above: Your test-case does pre-allocate very large reference arrays that are long-lived and essentially occupy a region of their own (they probably end up in the old gen or humongous regions) and then populating them with millions of additional objects that are likely to live...

Exposing whether an application is undergoing GC via UDP

java,garbage-collection,jvm

There are a whole bunch of ways to monitor and report on a VM remotely. A well-known protocol, for example, is SNMP. But this is a very complicated subject. Implementation sort of depends on your requirements. If you need to be really sure a VM is in a good state,...

Garbage collection methods in c# application

c#,.net,memory-management,garbage-collection

The KeepAlive will only delay the finalizer being called on a class (by making the object live longer and not having it be eligible for finalization) and CancelFullGCNotification has nothing to do with finalizing. Only SuppressFinialize will prevent the finalizer from running on a class....

Does /usr/bin/time include post program garbage collection for a java program?

java,linux,time,garbage-collection

As a general rule the Java Runtime Environment doesn't perform garbage collection on exit. Of more immediate concern would be the performance costs of JIT and of course trying to Write Dumb Code. Also, the signature of main() takes a String[] like public static void main(String[] args) { ...

Why remark phase is needed on concurrent GC

java,concurrency,garbage-collection

And modified pointer to another object is not a problem in fact. Because Dead object can not revive They really can't but do you know which objects are dead? No! Why? You don't know it after the initial mark phase as you look only at the thread stacks and...

What's the difference between deallocating memory in c++ style or with garbage collector?

c++,garbage-collection

It is true, that garbage collectors have a price. For example, in Quantifying the Performance of Garbage Collection vs. Explicit Memory Management paper they say: Comparing runtime, space consumption, and virtual memory footprints over a range of benchmarks, we show that the runtime performance of the best-performing garbage collector is...

How to prevent module from deleting by garbage collector or reimport it inside __del__ method

python,garbage-collection

You can bind a reference to the os.unlink() function as default argument, so you still have access to just the function when the hook runs: def __del__(self, _os_unlink=os.unlink): if self.config_object.logfile is not None: import os try: _os_unlink(self.config_object.logfile) except (WindowsError, AttributeError): pass However, take into account that there is never a...

Why aren't the earlier terms here being garbage-collected?

haskell,memory,garbage-collection,ghc,compiler-optimization

Let's compare actual numbers. Your version of kolakoski uses about 70k if run without optimization: $ ghc --make Kolakoski-Unit && ./Kolakoski-Unit +RTS -s 2 288,002,359,096 bytes allocated in the heap 1,343,933,816 bytes copied during GC 67,576 bytes maximum residency (422 sample(s)) 52,128 bytes maximum slop 2 MB total memory in...

JNI libraries deallocate memory upon garbage collection?

java,garbage-collection,jni,jcuda

Usually, such libraries do not deallocate memory due to garbage collection. Particularly: JCuda does not do this, and has no option or "mode" where this can be done. The reason is quite simple: It does not work. You'll often have a pattern like this: void doSomethingWithJCuda() { CUdeviceptr data =...

Which has better garbage collection, MRI 2.2 or Rubinius 2.5.3

ruby,garbage-collection,rubinius

It seems that Rubinius does not garbage collect symbols, see this issue. Is this still the case and is GC-ing symbols a big improvement? Rubinius currently doesn't garbage collect Symbols. We'll add this eventually but for now there are more pressing matters to take care of (e.g. support for...

Why does restricting GC to 1 thread increase performance?

java,multithreading,garbage-collection

I am not an expert on garbage collectors, so this is probably not the answer you'd like to get, but maybe my findings on your issue are interesting nevertheless. First of all, I've changed your code into an JUnit test case. Then I've added the JUnitBenchmarks extension from Carrot Search...

Garbage Collection and Using - Why is memory not released after `using{}` block?

c#,.net,garbage-collection,using

Disposing of objects has nothing to do with garbage collection. Garbage collection has to do with cleaning up of managed resources. Disposal is there to clean up unmanaged resources that the GC isn't tracking. Sometimes those unmanaged resources are memory allocated explicitly without going through the GC, sometimes they're locks...

How does copy collector in java manages to skip dead objects from visting?

java,garbage-collection

I think the confusion is with the definition of "visiting". Initially all objects need to be "visited" and the ones unreachable through strong references put in various internal queues (see weak/soft/phantom references), including the finalizer queue. All throughout this process the object is still considered reachable, and thus not collectable...

JVM ClassUnloadingWithConcurrentMark flag

java,garbage-collection,jvm,g1gc

I'm afraid that If I'll use this option I'll have even more problems Why don't you just setup a test environment for these kinds of things and test it yourself? Anyway, as already answered over here, the VM will perform some last-ditch heroics (1-2 full GCs, complete soft reference...

How do I terminate a task upon object deletion? c#

c#,garbage-collection,task

The function I needed was ~Melody(). It doesn't have to be called manually, unlike Dispose(). Thanks to Denis Yarkovoy...

Garbage Collector doesn't immediately collect finished thread [duplicate]

java,multithreading,memory-management,garbage-collection

Could it be that you are asking the wrong question? What I mean: is the fact that garbage collection is not happening "immediately" a problem for you? I am pretty sure - when you start another such thread that needs a lot of memory, the GC will kick in all...