Java内存分配和运行机制

Java的内存分配

Java的内存分为两种,一个是堆内存,这个是栈内存。

堆内存

堆内存是用于存放Java中的数组和由new创建的对象。他满足先进先出,后进后出的存放方式。最后会由GC垃圾回收机制来清理缓存。堆内存属于动态存放,不需要自己提前开辟内存,但是速度比较慢。

栈内存

栈内存是用于存放Java中的基本类型的变量和对象的引用变量、函数等。他满足栈的的存放方式。也会由GC回收。堆内存需要提前定义空间大小,速度较快,仅仅小于缓存。

 

两者之间的关系

Java内存分配和运行机制_第1张图片

 

左边为栈右边为堆

 

 

Java的运行机制

Java的运行机制是讲用户所写的Java源代码通过编译器解释成字节码文件,再通过Java虚拟机变成机器码文件。

每一种平台的解释器是不同的,但是实现的虚拟机是相同的。这也就是Java为什么能够跨平台的原因。

Java内存分配和运行机制_第2张图片

 

你可能感兴趣的:(Java复习)