2013-05-22 82 views
2

与Java虚拟机相比,Dalvik虚拟机获得“共享常量池”是什么意思?共享常量池?

这是一个好处,Dalvik机器如何实现这一目标?

回答

4

Java虚拟机将每个类存储在单个.class文件中。每个类文件都有一个用于字符串,方法名称,类名称等的常量池。如果多个类引用同一个字符串,则每个类文件在其常量池中都会有该字符串的副本。

Dalvik虚拟机将多个类存储在单个dex文件中,并具有单个常量池。因此,如果多个类引用相同的字符串,那么该dex文件的“全局”常量池中将只有该字符串的一个副本。

好处是它具有更高的空间利用率,并且由于dalvik内存将这些dex文件映射到内存中,所以它的内存效率也更高。

+0

关于这些信息,你有任何资料可以指出吗?这将非常感激! – OmniOwl

+0

dex格式记录在http://s.android.com/tech/dalvik/dex-format.html – JesusFreke

+0

非常感谢!我需要这个作业:) – OmniOwl