UrbanPro
true

Learn Programming Languages from the Best Tutors

  • Affordable fees
  • 1-1 or Group class
  • Flexible Timings
  • Verified Tutors

Memory Management In JAVA

Pavan K.
07/02/2018 0 0

Memory Management in JAVA:

When you are starting the JVM then JVM will request some memory from the OS. if OS allocates the required memory then JVM will start otherwise the error message will be displayed and JVM will not start.

 

For example,

public class MemoryManagement {
public static void main(String str[]) {
System.out.println("**Main Started**");
Runtime rt = Runtime.getRuntime();
System.out.println("T : "+rt.totalMemory());
System.out.println("M : "+rt.maxMemory());
}
}

 

Execute as follows:

java -Xms512m MemoryManagement

java -Xmx1024m MemoryManagement

java -Xmx2048m MemoryManagement

-Xms stands for Initial Memory

-Xmx stands for Max Memory

 

When a JVM executes a program, it needs memory to store many things like:

i. Byte Codes and other information extracted from loaded class files.

ii. Objects created in your program.

iii. Methods Parameters.

iv. Values returned from methods.

v. Local variables declared.

vi. Intermediate resultsof computations.

The JVM organizes the memory into several runtime data areas. Some are:

1. Method Area:

  • When the class is loaded by the JVM then the class information will be stored into the method area.
  • Method area is also called as Class Heap.
  • Static Variable also gets the memory in method area.
  • Each instance of the JVM has one method area.
  • This area is shared by all threads running inside the virtual machine.
  • These memories should not be de-allocated during the execution of the application.

2. Heap Memory:

  • JVM places all objects into the heap memory.
  • Each instance of the JVM has one heap area.
  • This area is shared by all threads running inside the virtual machine.
  • If you have the reference of the object in your application then it is known as USED or LIVE object.
  • if you do not have the reference for the object in your application then the object is known as UNUSED or DEAD object and is called as Garbage.
  • There is no guarantee that memory for the UNUSED or DEAD objects will be de-allocated immediately.
  • When you create the object and required memory is not available in the HEAP then OutOfMemoryError will be thrown by JVM.

3. Stack Memory:

  • Stack Memory keep track of each and every method invocations. This is called Stack Frame.
  • Each thread has its own PC Register(Program Counter) and Java Stack Frame.
  • When the method or constructor is invoked then the implementation will be copied into the stack memory on the top of the stack. after completing the execution of the method or constructor, memory from the stack will be de-allocated.
  • Memory for local variables and method arguments are allocated in Stack Memory.
  • The program counter always keeps track of the current instruction which is being executed. After execution of an instruction, the JVM sets the PC to next instruction.
  • When you invoke method or constructor and required memory is not available in the STACK then StackOverflowError will be thrown by the JVM.
0 Dislike
Follow 2

Please Enter a comment

Submit

Other Lessons for You

SELF POLLINATION
SELF POLLINATION Self-pollination is one of the types of pollination which is present in the same flower of the plant. Process: In the self-pollination process, the pollens of androecium...

Income tax
Basic concepts- 1 hour Salary- 10hours House property- 2 hours Pgbp- 5 hours Capital gain- 5hours Deduction-2 hours
S

How to Prepare IPCC Information Technology and Strategic Management
It is one of the paper where we can score well if we study smartly. Study the subject with interest and take the notes of essential words. Own words will not fetch you marks in this paper. Prepare mnemonic...

Biotechnology An Overview
Biotechnology is an interdisciplinary subject covering many areas of subjects like Biology, Chemistry, Physics, Computer And Statistics. Biology combined with Chemistry is Biochemistry, and when combined...

X

Looking for Programming Languages Classes?

The best tutors for Programming Languages Classes are on UrbanPro

  • Select the best Tutor
  • Book & Attend a Free Demo
  • Pay and start Learning

Learn Programming Languages with the Best Tutors

The best Tutors for Programming Languages Classes are on UrbanPro

This website uses cookies

We use cookies to improve user experience. Choose what cookies you allow us to use. You can read more about our Cookie Policy in our Privacy Policy

Accept All
Decline All

UrbanPro.com is India's largest network of most trusted tutors and institutes. Over 55 lakh students rely on UrbanPro.com, to fulfill their learning requirements across 1,000+ categories. Using UrbanPro.com, parents, and students can compare multiple Tutors and Institutes and choose the one that best suits their requirements. More than 7.5 lakh verified Tutors and Institutes are helping millions of students every day and growing their tutoring business on UrbanPro.com. Whether you are looking for a tutor to learn mathematics, a German language trainer to brush up your German language skills or an institute to upgrade your IT skills, we have got the best selection of Tutors and Training Institutes for you. Read more