This way, java programs are written to the same set of interfaces and. The java memory model this web page is a starting point for discussions of and information concerning the java memory model chapter 17 of the java language specification. Thefollowingisintendedtooutlineourgeneralproductdirection. The java virtual machine is a model of a whole computer so this model naturally includes a memory model aka the java memory model. One strength of the java 2 platform, standard edition j2se is that it performs automatic memory management, thereby shielding the developer from the complexity of explicit memory management. It used to be somewhat unclear and unnecessarily limiting, and so was revised. In this article, we will be discussing java virtual machine jvm.
It is very important to understand the java memory model if you want to design correctly behaving concurrent. The java memory model defines how threads interact through memory. The java virtual machine jvm is an abstract computing machine. Java memory management for java virtual machine jvm betsol. A jvm described in a simple sentence a software module that provides the same execution.
This paper provides a broad overview of memory management in the java hotspot virtual machine jvm in suns j2se 5. In this article we will try to understand the java memory model and how garbage collection works. However, i chose jvm memory model because i think many people dont know the real name of the memory areas inside a jvm. Memory management in the java hotspot virtual machine. Understanding the java memory model and garbage collection. The revision process for the java model involved continual feedback and participation from the broader java community. Jvm memory model and gc developer community support. The original java memory model allowed for volatile writes to be reordered with nonvolatile reads and writes under the new java memory model from jvm v1. Fundamentally, it is the process of allocating new objects and properly removing unused objects. In this article i have used jdk8 oracle hot spot 64 bit jvm. Native memory is the memory which is available to a process, e.