15得票5回答
编译后类中更改字符串常量

我需要更改一个已部署的Java程序中的字符串常量,即编译后的.class文件内的值。它可以重新启动,但不容易重新编译(虽然如果这个问题没有答案,这是一个不方便的选项)。这是否可能? 更新:我刚刚用十六进制编辑器查看了文件,看起来我可以很容易地在那里更改字符串。这样做可行吗?也就是说,这样做不...

12得票4回答
如何通过程序生成 .class 文件?

我想为Java写一个玩具语言的编译器,生成可运行的.class文件。我想知道可用于此的最佳库或工具是什么?我知道我可以学习所有指令的二进制格式并构建自己的常量池等,但这似乎是已经完成的工作:没有重新发明轮子的必要,对吧? 在网上搜索,我找到了两种不同的Java汇编语言Jasmin和Jamai...

12得票5回答
.class文件转换为jar和.class文件转换为exe

如何使用cmd将class文件转换为jar文件? 如何将class文件转换为exe文件? 如何将jar文件转换为exe文件? 能否将exe文件转换为jar文件?

10得票1回答
我们应该直接使用ScalaSignature吗?

ScalaSignature是一种注释,包含元信息。 https://github.com/scala/scala/blob/v2.9.2/src/library/scala/reflect/ScalaSignature.java 然后提供了解析器,但scala-library.jar...

9得票3回答
VSCode中如何设置编译后的.class文件路径?

我正在使用VScode中的Java测试运行器扩展程序,并希望将我的类编译到一个特定的文件夹中。我找到了更改运行已编译.class文件时-cp的设置,但整个过程仍然失败,因为该扩展程序在其appdata文件夹中的一个深层次的模糊临时文件夹中构建.class文件。 我希望它将我的.java类编译...

9得票2回答
JVM字节码访问修饰符标志0x1000(十六进制)"synthetic"什么时候被设置?

对于某些Java字节码解析项目,我阅读了JVM规范,并发现Java虚拟机类文件格式访问修饰符字段的位掩码值为: ACC_PUBLIC = 0x0001 ACC_FINAL = 0x0010 ACC_SUPER = 0x0020 # old invokespecial instru...

9得票6回答
如何读取.class文件的完全限定名称

嘿,我认为标题已经说明了问题。 我需要从编译的.class文件中提取对象的完全限定名称,请问有���可以指点一下? 谢谢, Adam.

8得票4回答
如何防止在编译后的类文件中显示字符串字面值?

当你把一个.java文件编译成一个.class文件时,如果你有一行像这样的代码: String s = "This is a String" 如果您在文本编辑器中打开.class文件,您会看到: This is a String 在一些文件中有很多杂乱的内容。 对于大多数情况来说...

8得票1回答
在类文件中查找其他类的引用的简单方法

在http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html中描述的类文件格式中,所有对其他类的引用都作为CONSTANT_Utf8类型的条目包含在常量池中。 但是这些条目不仅仅是类的引用,还有类字面量、方法名、字段等等。 起...

8得票2回答
Java内部类在描述符和签名属性之间不一致?(类文件)

我正在尝试理解Java内部类的描述符和签名之间的差异是否有规范上的原因。(我直接查看类文件内容,但使用javap进行说明。) (请注意,我在JDK 1.6.0_33和1.7.0_05上都尝试过,当使用Java 7的javap查看时,两者都存在相同的问题 - 如Sean下面的答案所述,Java...