- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How many types of memory areas are allocated by JVM in java?
Java Virtual Machine is a program/software which takes Java bytecode (.class files) and converts the byte code (line by line) into machine understandable code.
JVM contains a module known as a class loader. A class loader in JVM loads, links and, initializes a program. It −
Loads the class into the memory.
Verifies the byte code instructions.
Allocates memory for the program.
JVM memory locations
JVM has five memory locations namely −
Heap − Runtime storage allocation for objects (reference types).
Stack − Storage for local variables and partial results. A stack contains frames and allocates one for each thread. Once a thread gets completed, this frame also gets destroyed. It also plays roles in method invocation and returns.
PC Registers − Program Counter Registers contains the address of an instruction that JVM is currently executing.
Execution Engine − It has a virtual processor, interpreter to interpret bytecode instructions one by one and a JIT, just in time compiler.
Native method stacks − It contains all the native methods used by the application.