answersLogoWhite

0

Memory management in the CLR is divided into three generations that are build up by grouping memory segments. Generations enhance the garbage collection performance. The following are the three types of generations found in a garbage collector:

  • Generation 0 - When an object is initialized, it is said to be in generation 0.
  • Generation 1 - The objects that are under garbage collection process are considered to be in generation 1.
  • Generation 2 - Whenever new objects are created and added to the memory, they are added to generation 0 and the old objects in generation 1 are considered to be in generation 2.
User Avatar

Wiki User

9y ago

What else can I help you with?

Related Questions

How many types of Generations are there in GC garbage collector?

There are 3 generations gen 0 , gen 1 and gen 2.


How many generations does the garbage collection algorithm in NET support?

2


How many garbage patches are there in oceans?

1-4 thousand types of garbage patches


How many computer generations are there up to now?

many five types generation of computer


Why c plus plus does not have garbage collector?

Although the C++ standard does not provide a garbage collector, there's nothing to stop you from using one. There are many garbage collection libraries available, or you can write your own. However, garbage collection is not required in C++ because correct use of resource handles and smart pointers ensures there is never any garbage to collect. More importantly, resource handles and smart pointers incur little to no overhead. Shared resource handles do incur some cost, but that cost is negligible compared to the cost of managing shared resources through "naked" C-style pointers, let alone the cost of garbage collection.


How many recycling trash cans should I have?

The need to have different cans is the way that is needed to break your recycling down. The best thing to do is to call your local garbage collector and see what they would suggest.


How many pages does The Collector Collector have?

The Collector Collector by Tibor Fischer has 272 pages in the Penguin edition.


How many garbage disposal plants are their in Haryana?

How many garbage disposable plants are their in Haryana


How many Corvette generations are there?

6 generations


How many generations are in a millennium?

Ten generations


How many generations are there in a millennium?

Ten generations


What is garbage collector why you use garbage collector.it is possible to extend heap memory?

Garbage collection is the phrase used to describe automatic memory management in Java. Whenever a software program executes (in any programming language for that matter), it uses memory in several different ways. We're not going to get into Computer Science 101 here, but it's typical for memory to be used to create a stack, a heap, in Java's case constant pools, and method areas. The heap is that part of memory where Java objects live, and it's the one and only part of memory that is in any way involved in the garbage collection process.So, all of garbage collection revolves around making sure that the heap has as much free space as possible. For the purpose of the exam, what this boils down to is deleting any objects that are no longer reachable by the Java program running. When the garbage collector runs, its purpose is to find and delete objects that cannot be reached. If you think of a Java program as being in a constant cycle of creating the objects it needs (which occupy space on the heap), and then discarding them when they're no longer needed, creating new objects, discarding them, and so on, the missing piece of the puzzle is the garbage collector. When it runs, it looks for those discarded objects and deletes them from memory so that the cycle of using memory and releasing it can continue.When Does the Garbage Collector Run?The garbage collector is under the control of the JVM. The JVM decides when to run the garbage collector. From within your Java program you can ask the JVM to run the garbage collector, but there are no guarantees, under any circumstances, that the JVM will comply. Left to its own devices, the JVM will typically run the garbage collector when it senses that memory is running low. Experience indicates that when your Java program makes a request for garbage collection, the JVM will usually grant your request in short order, but there are no guarantees. I repeat, the JVM does not guarantee the execution of the garbage collector when you invoke it. It can execute it and opt to ignore your request totally because that's how it works. We cant do a thing about it.How Does the Garbage Collector Work?You just can't be sure. You might hear that the garbage collector uses a mark and sweep algorithm, and for any given Java implementation that might be true, but the Java specification doesn't guarantee any particular implementation. You might hear that the garbage collector uses reference counting; once again maybe yes maybe no. The important concept to understand for the exam is when does an object become eligible for garbage collection? To answer this question fully, we have to jump ahead a little bit and talk about threads. (Don't worry, We will take a detailed look at Threads in future.) In a nutshell, every Java program has from one to many threads. Each thread has its own little execution stack. Normally, the programmer causes at least one thread to run in a Java program, the one with the main() method at the bottom of the stack. However, there are many really cool reasons to launch additional threads from your initial thread. In addition to having its own little execution stack, each thread has its own lifecycle. For now, all we need to know is that threads can be alive or dead. With this background information, we can now say with stunning clarity and resolve that an object is eligible for garbage collection when no live thread can access it.Based on that definition, the garbage collector does some magical, unknown operations, and when it discovers an object that can't be reached by any live thread, it will consider that object as eligible for deletion, and it might even delete it at some point. When we talk about reaching an object, we're really talking about having a reachable reference variable that refers to the object in question. If our Java program has a reference variable that refers to an object, and that reference variable is available to a live thread, then that object is considered reachable. We'll talk more about how objects can become unreachable in the following section.Can a Java application run out of memory? Yes. The garbage collection system attempts to remove objects from memory when they are not used. However, if you maintain too many live objects (objects referenced from other live objects), the system can run out of memory. Garbage collection cannot ensure that there is enough memory, only that the memory that is available will be managed as efficiently as possible.