什么是适用于每个JVM的最小Java类文件?
发布时间:2020-12-15 05:11:58 所属栏目:Java 来源:网络整理
导读:我希望对一系列JVM进行一种最小的“冒烟测试”,如果可能的话,它包括JDK 1 – 8,OpenJDK,IBM JDK甚至Microsoft JDK.有没有办法制作一个应该能够测试它的最小 Java类文件? 更新 应该可以运行: java -cp ClassName 并且有输出确认JVM正在正常运行. 此外,对于
我希望对一系列JVM进行一种最小的“冒烟测试”,如果可能的话,它包括JDK 1 – 8,OpenJDK,IBM JDK甚至Microsoft JDK.有没有办法制作一个应该能够测试它的最小
Java类文件?
更新 应该可以运行: java -cp ClassName 并且有输出确认JVM正在正常运行. 此外,对于那些认为JVM始终在运行的人应该知道我在一台机器上使用多达20个JVM的系统,并且某些JVM可能已损坏.另请注意,并非所有JVM都可以运行所有.class文件 解决方法
Krakatau的最小类文件有
an example aseembler file .
.class public minimal .super java/lang/Object 这将为您提供将在JVM中加载的最简单的类文件.它没有您通常从其他工具获得的所有可选元数据(例如Jasmin总是添加SourceFile属性).这不是最短的文件,因为你可以通过缩短类名来减少几个字节,但它基本上是最简单的类. 请注意,虽然此类将加载,但它不包含任何代码,因此您无法有意义地执行它.如果你想要一些可以作为入口点运行的东西,你需要添加一个main函数.这可以通过调整Hello World示例来删除打印代码来完成. .class public Code .super java/lang/Object .method public static main : ([Ljava/lang/String;)V .limit stack 10 .limit locals 10 return .end method 这将为您提供一个可运行的类,并立即返回.所以它是具有主要功能的最简单的类. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |