The differences between heap and stack are: 1. The stack is automatically allocated by the system, while the heap is opened manually; 2. The space obtained by the stack is smaller, while the space obtained by the heap is larger; 3. The stack is allocated by the system Automatic allocation is faster, while the heap is generally slower; 4. The stack is a continuous space, while the heap is a discontinuous space.
The difference between heap and stack
There are five main differences between heap and stack, which are:
1. Different application methods. The stack is automatically allocated by the system, while the heap is opened by manual application;
2. The application size is different. The space obtained by the stack is smaller, while the space obtained by the heap is larger;
3. The application efficiency is different. The stack is automatically allocated by the system and is faster, while the heap is generally slower;
4. The storage content is different. When a function is called on the stack, the address of the next executable statement of the function call statement is pushed onto the stack first, and then each parameter of the function is pushed onto the stack. Static variables are not pushed onto the stack. The heap generally uses one byte to store the size of the heap in the header, and the specific content in the heap is artificially arranged;
5. The bottom layer is different. The stack is a continuous space, while the heap is a discontinuous space.
The above is the detailed content of What are the differences between heap and stack?. For more information, please follow other related articles on the PHP Chinese website!