J2ME应用程序的预验证是什么意思?

gam*_*ver 13 java java-me

我读了以下内容:

J2ME applications, unlike normal Java applications are preverified.

J2ME jar文件的预验证究竟是什么意思?这是校验和吗?

Rav*_*lau 15

这里:

回答预验证是设计为在J2ME CLDC上运行的Java应用程序的开发和部署周期的新阶段.预验证在运行时之前对Java字节码执行某些检查.如果第一次验证通过正常,则预验证程序会对类文件进行注释(使用标准Java字节码"属性",这样这些仍然是普通的旧Java字节码,并且可以在不知道预验证的好处的VM中执行),然后保存带注释的类文件或将它们传递给编译链中的下一个工具.

当KVM尝试运行执行基于J2ME CLDC的应用程序时,它会检查Java类文件以获取这些预验证注释.类文件中的正确注释保证了进行了某些编译时检查,因此KVM可以更快地通过自己的验证和安全检查,并更快地开始执行应用程序.

Sun的CLDC参考实现SDK包含'preverify'工具.您可以在通过javac(或您喜欢的Java编译器)编译代码后使用该工具.有关preverify的更多信息包含在CLDC规范和CLDC SDK附带的开发人员文档中.