系统相关
首页 > 系统相关> > Java如何通过内存对象堆分配在Android中工作

Java如何通过内存对象堆分配在Android中工作

作者:互联网

我是Android新手,但有Java经验.
在Java中,当我们这样做时:

MyClass myObj = new MyClass();

显然,它执行以下操作:

>将内存指针myObj插入堆栈
>在堆中为MyClass类型的对象分配一个新空间
>指定这个新空间对myObj的引用

但是我对以下问题有些困惑:

>但是在Android中,这是否可以相同的方式工作?
> Android是否具有完整的堆栈和堆内存?
> Android是否可以在我的Java应用程序(Android应用程序)上使用Java虚拟机(JVM)?

非常感谢!

解决方法:

Android用自己的Dalvik虚拟机重新实现了Java虚拟机.与基于堆栈的JVM不同,Dalvik是基于寄存器的.您可以在此处看到两者之间的比较:

http://en.wikipedia.org/wiki/Dalvik_(software)#Performance

是的,Dalvik VM与JVM一样具有堆-但没有堆栈.它与任何Java 1.6源代码100%兼容(对1.7的支持正在慢慢出现,并且在Android Studio中提供了初步的支持).因此,在您的3个步骤中:

>将对myObj的引用插入寄存器中
>在堆中为MyClass类型的对象分配一个新空间
>指定这个新空间对myObj的引用

标签:heap-memory,stack,memory-management,java,android
来源: https://codeday.me/bug/20191121/2053790.html