Home  >  Article  >  Java  >  Detailed introduction to the difference between java stack and heap

Detailed introduction to the difference between java stack and heap

高洛峰
高洛峰Original
2017-01-24 14:40:471738browse

java The difference between stack and heap

1. The garbage collection mechanism only acts on heap memory and has nothing to do with stack memory;

2. Stack: The access speed of stack is faster than that of heap. High efficiency, saves the reference values ​​​​of local variables and objects

3, Heap: Saves larger variables

4, The stack has a very important special feature, that is, the data stored in the stack can be shared

When the compiler processes int a = 3, it will first create a reference to the variable a in the stack, and then check whether the value 3 exists on the stack. If it does not exist, it will store 3 in;

The same is true when processing b = 3, because 3 was stored before, so at this time the compiler only needs to create the variable b and point it to 3 (which is good for saving space).
At this time, a and b point to 3 at the same time, but it does not affect their use. If a = 4; is defined at this time, 4 needs to be stored in the memory, and a points to 4. The modification of the a value will not affect the b value.

内存的划分:
 
 
1,寄存器。
2,本地方法区。
3,方法区。
4,栈内存。
 存储的都是局部变量。
 而且变量所属的作用域一旦结束,该变量就自动释放。
5,堆内存。
 存储是数组和对象(其实数组就是对象) 凡是new建立在堆中。
 特点:
 1,每一个实体都有首地址值。
 2,堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。整数是0,小数0.0或者0.0f,boolean false char '\u0000'
 3,垃圾回收机制。

Thank you for reading, I hope it can help everyone, thank you for your support of this site!

For more detailed introduction to the difference between java stack and heap, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn