First of all, let’s take a brief look at the heap and stack:
1. Heap and stack are two data structures. Data items can only be inserted and deleted at one end. .
2. In microcontroller applications, the stack is a special storage area, mainly used to temporarily store data and addresses.
3. Heap, queue priority, first in first out.
4. Stack, first in, last out.
(Video tutorial recommendation: java video)
Comparison of heap and stack:
1. Both stack and heap It is where java stores data in memory.
2. Java automatically manages the stack, and programmers do not need to worry about it (unlike C).
3. Stack, the storage speed is faster than the heap, second only to the registers in the CPU. The disadvantage is that the size and life cycle are deterministic and lack flexibility.
4. Stack data cannot be shared between multiple threads or multiple stacks
5. Multiple variables with equal values inside the stack can point to the same address.
6. The advantage of the heap is that it can dynamically distribute the memory size, and the life cycle is also dynamic.
7. The Java garbage collector will automatically collect heap data that is no longer in use.
8. The disadvantage of the heap is that memory must be dynamically allocated at runtime, and the access speed is slow.
Recommended tutorial: java entry program
The above is the detailed content of How to understand the concepts of heap and stack in java. For more information, please follow other related articles on the PHP Chinese website!