我读了以下内容:
J2ME applications, unlike normal Java applications are preverified.
J2ME jar文件的预验证究竟是什么意思?它有点像校验和吗?
答案 0 :(得分:14)
来自here:
答案预验证是一个新阶段 在开发和部署中 为Java应用程序设计的循环 在J2ME CLDC上运行。 预验证执行确定 检查之前的Java字节码 运行。如果这是第一次验证 传递正常,预验证器注释 classfiles(使用标准Java 字节码“属性”,这样就可以了 仍然是普通的旧Java字节码和 将在不知道的VM中执行 预先验证的好处),和 然后保存带注释的类文件 或者将它们传递给下一个工具 在编译链中。
当KVM尝试运行时执行a 基于J2ME CLDC的应用程序,它检查 这些Java类文件 预验证注释。正确 类文件中的注释 保证一定的编译时间 检查已经完成,因此KVM可以 通过自己的验证和 安全检查更快,并开始 更多地执行应用程序 快。
Sun的CLDC参考实现 SDK包含'preverify'工具。您 编译代码后使用该工具 通过javac(或您最喜欢的Java 编译器)。更多信息 preverify包含在CLDC中 规范和开发人员 CLDC SDK附带的文档。
答案 1 :(得分:0)
Preverification在运行时之前对Java字节码执行某些检查。如果第一次验证通过正常,则预验证程序会对类文件进行注释(使用标准Java字节码“属性”,这样这些仍然是普通的旧Java字节码,并且可以在不知道预验证的好处的VM中执行),然后保存带注释的类文件或将它们传递给编译链中的下一个工具。