how tha garbage collector know that the object will be
deleted? on which algorithm the garbage collector works?
what is the working principle of garbage collector? How
manay types of garbage collectors r there?

Answer Posted / abul kalam

An object is eligible for garbage collection when it
determines no more references to the object exists.


Algorithms that are used for garbage collection.

1 – Reference Counting:

Each object has an associated reference count. This count
indicates the number of active references to that object.
If this count is zero, it is garbage and can be recycled.
Whenever the reference is modified, the count is updated.
Once this count is zero, the memory is reclaimed.

2 – Tracing Collectors:

Mostly the standard garbage collectors do not use Reference
Counting. They will use some form of tracing collector’s
algorithms. This algorithm will trace all objects starting
from root until all reachable objects have been examined.

3 – Mark-Sweep collectors:

This is most basic form of collector algorithm. In this
case the collector visits each node starting from root and
marks each node. Once there are no any references, the
collection is complete. The heap is swept and the objects
not marked are reclaimed and returned to free list.

4 – Copying Collectors:

In this case, the heap is divided into equally sized semi
spaces. One with active data and another with unused. Once
the active space fills up, the objects are copied from
active to unused space and the roles are flipped becoming
unused space as active. This has advantages as it examines
only active data. But will have a overhead of copying data
from active to unused space.

5 – Heap Compaction:

In the copying collectors, the set of live objects can be
compacted at the bottom of heap. This improves locality of
reference and eliminates heap fragmentation and greatly
reduces the cost of object allocation which eliminates the
need to maintain free lists or look-aside lists or perform
best-fit or first-fit algorithms and allocating N bytes is
simple to add N to heal pointer.

Is This Answer Correct ?    5 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How does map works in java?

528


What is Hierarchy of exception?

655


Give few difference between constructor and method?

528


What is a parameter in simple terms?

570


What are heterogeneous objects?

579






How to create com object in Java?

657


How does queue work in java?

532


What do you mean by collectors in java 8?

548


How java is similar to c?

591


What is intern method in java?

591


List any five features of java?

583


What are the different types of garbage collectors in java?

560


Which way a developer should use for creating thread, i.e. Sub classing thread or implementing runnable.

529


Give differences between Quicksort & Mergesort. When should these sorts be used and what is their running time?

580


List some java keywords sun like c, c + + keywords?

596