In computer science, a stack is a temporary abstract data type and data structure based on the principle of Last In First Out (LIFO).
Stacks are used extensively at every level of a modern computer system.
For example, a modern PC uses stacks at the architecture level, which are used to run an operating system.
The operating system also uses stacks, which are used to run a Java Virtual Machine, which is stack oriented, and the Java language itself has a class called "Stack", which can be used by the programmer.
The stack is ubiquitous.