https://medium.com/@AlexanderObregon/allocating-stack-and-heap-memory-for-java-variables-dd19b443722a