How to avoid memory leak in java

Posted by Infocampus HR on December 26th, 2018

What is a memory leak?

Every application has to store information like variables and objects temporarily. As we tend to already apprehend, applications running on JVM depends on that to produce enough memory.

However, JVM’s memory is additionally restricted and for the most part, depends on the underlying memory of OS. Hence, it's vital for applications running on JVM to manage their memory properly. Applications are expected to release the memory resources when their use, however, if an application doesn't unleash the memory then that application has a memory leak, that eventually crashes with the OutOfMemoryError.

This is the foremost common performance-related error you'll realize. You see this error once JVM runs out of allotted memory and can't apportion a lot of objects. There are varied ways by which you'll get into this example.

A memory leak happens once object references that are not any longer required are unnecessarily maintained. These leaks area unit dangerous. For one, they place unneeded pressure on your machine as your programs consume a lot of and a lot of resources. to form things worse, detecting these leaks are often difficult: static analysis often struggles to exactly determine these redundant Java Courses in Bangalore references, and existing leak detection tools track and report fine-grained info concerning individual objects, manufacturing results that area unit exhausting to interpret and lack preciseness.

In alternative words, leaks area unit either too hard to spot, or known in terms that are too specific to be helpful.

There really four classes of memory problems with similar and overlapping symptoms. However, varied causes and solutions:

  • Performance: sometimes related to excessive object creation and deletion, long delays in a pickup, excessive OS page swapping, and more.
  • Resource constraints: happens once there’s either to very little memory accessible or your memory is just too fragmented to allocate an outsized object—this will be native or, a lot of normally, Java heap-related.
  • Java heap leaks: the classic memory leak, during which Java objects area unit continuously created while not being free. This can be sometimes caused by latent object references.
  • Native memory leaks: related to any unceasingly growing memory utilization that's outside the Java heap, like allocations created by JNI code, drivers or maybe JVM allocations.

Fixing memory leaks in Java involves observant symptoms, using verbose GC and identification, and Java training in Bangalore analyzing memory traces, followed by an intensive review of the code that produces use of the objects concerned within the leak.

In this memory management tutorial, I’ll specialize in Java plenty leaks and describes an approach to find such leaks supported Java VisualVM reports and utilizing a visible interface for analyzing Java technology-based applications whereas they’re running.

How will garbage collection work in Java?

The JVM uses totally different garbage collection ways for various teams of information. Data is classed by however long it tends to hold around before being discarded. For short information, it pauses everything and uses a tracing, repeating collector to free memory that is not documented.

Memory leaks in Java

In C, programmers entirely management allocation and deallocation of dynamically created objects. And if a coder doesn't destroy objects, a memory leak happens in C,

Java wills automatic pickup. But there will be things wherever refuse collector doesn't collect objects as a result of there are references to them. There may be things wherever an application creates legion objects and doesn't use them. Simply because each object has valid references, refuse collector in Java can’t destroy the objects. Such kinds of useless objects are referred to as Memory leaks. If allotted memory goes on the far side limit, a program is going to be terminated by rising OutOfMemoryError. Then if an object is not any longer needed, it's extremely suggested to form that object eligible for the garbage collector. Otherwise, we must always use some tools that do memory management to identify useless objects or memory leaks like:

  • HP OVO
  • JProbe
  • IBM Tivoli


Infocampus is Bangalore based mostly No1. Java training Institute placed in Marathahali.

JAVA is one among the most effective choices for the students who wish to grow within the future. It an object-oriented programming language and wide utilized in the globe for net development.

Infocampus is your single supply for Advanced Java training in Bangalore. Courses are offered for those obtaining started and supply the right opportunity for you to induce active experience.

Call Us: 9738001024


Like it? Share it!

Infocampus HR

About the Author

Infocampus HR
Joined: December 10th, 2016
Articles Posted: 792

More by this author