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