问题标签 [javap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
792 浏览

compilation - javap 如何处理 java 库文件?

JRE 包含库类的 .class 文件。

什么时候会使用 JRE 文件夹中的这些 .class 文件?

JRE 是否包含所有库类的 .class 文件。

举个例子吧。。

当我们导入库文件时,我们使用的是来自 src.zip的类文件的定义,而不是 .class 文件。例如导入 java.net.InetAddress。那只是我们继承了库类。因此库类的代码也符合我们的代码na..

我们没有直接使用 .class 文件。那么在 JRE 文件夹中为这些库文件提供 .class 文件有什么用呢?

我搜索了 JRE 文件夹,但没有找到 InetAddress 的 .class 文件

但是命令javap java.net.InetAddress仍然可以正常工作。

有人请帮忙。

提前致谢。

0 投票
2 回答
232 浏览

java - How to get the signature of a method which is inside a Interface?

I have a class named Fruits. Inside the class there is a interface named Sour. Inside the Interface I have a method GetItems();

How to get the signature of the GetItems() method?. I want to use this signature in JNI GetMethodID method.

0 投票
2 回答
640 浏览

scala - Scala:使用反射来发现你的内在对象(和欲望)?

有没有办法在运行时发现在外部对象中声明的对象?JavaClass方法getClassesgetDeclaredClasses都返回空数组。

输出是:

编辑:我已经探索过让孩子向父母注册自己:

(虽然这看起来很难看,但实际上还可以,因为我可以通过创造性的子类化和隐式参数隐藏这些细节。)

这种方法的问题是在引用每种类型之前不会调用静态初始化程序(因此调用Parent.Child1and Parent.Child2),这违背了目的。输出是:

编辑2:我知道数据在那里!内部对象列出使用scalap Parent

0 投票
5 回答
8116 浏览

java - javap如何与eclipse一起使用?

正如标题所述,我正在尝试javap与 eclipse 一起使用,但在设置时遇到了困难。我正在尝试使用菜单进行设置,external toolsrun找不到正确的Arguments:字符串以使其工作。基本上我需要一些能够动态执行我打开的当前文件的东西。

0 投票
1 回答
2055 浏览

java - javap -l 选项不能显示行号信息

javap命令有几个选项,其中之一是-l,可以打印行号和局部变量表。假设一个java程序已经编译成功,并且有“Main.class”文件,那么运行javap -l Main会产生类似的结果:

但是,我在javap -l xxx一个java程序的类文件上使用了这个命令,但是行号和局部变量表的区域是空的(不应该是)。该javap命令和其他选项(例如-s, )-verbose工作正常,但只有与选项对应的行信息区域-l为空。

有没有人遇到过这种奇怪的情况?

0 投票
1 回答
206 浏览

java - javap本地表输出中的“伪造”条目

我正在javap研究为我的一个课程生成的代码,并注意到以下输出:

表中那些“虚假”类型/变量条目的含义是什么locals?它们是如何引起的?它们对生成的代码有什么影响?

该类文件是使用 Eclipse 3.7 编译器生成的,javap来自 OpenJDK-1.6b22。

0 投票
2 回答
766 浏览

java - Javap Asciz 字符串

javap关于常量池命令生成的输出的小问题。打印池时javap,它将字符串常量定义为Asciz字符串,我理解这意味着null终止的 Ascii:

这意味着字符串的长度是未知的,并且要解析,您将读取每个字节,直到遇到null.

但是,常量池字符串常量的长度是由字符串前面的两个字节定义的,没有null附加。(常量池规范)。

是否javap将字符串定义为Asciz不正确或Asciz有其他我不知道的含义?

0 投票
2 回答
7399 浏览

scala - 在 sbt 项目的类路径中添加 tools.jar

scala 2.9.1 控制台中的':javap' 命令需要'classpath' 中的tools.jar(来自JDK6)。从 cmd-line 可以使用“-cp”参数或 CLASSPATH 环境变量来完成。

如何对使用“console”和“console-quick”命令从 SBT 调用的 scala 控制台执行相同操作?

0 投票
2 回答
4540 浏览

scala - 如何使用 javap 从 Java 中学习使用 scala.None?

在之前的问题Accessing scala.None from Java中,似乎人们已经习惯于javap弄清楚如何scala.None从 Java 进行访问。我想知道他们是怎么做到的。仅供参考,答案是:

可以短接为:

给定这个程序 ( OptionTest.scala):

我是这样跑javap的:

这是javap输出的一部分:

我还在scala.None和上运行了 javap scala.Option。如何从javap输出中得出:

  1. NoneNone.type是扩展的唯一类型对象Option
  2. 伴随对象的apply()方法是必需的

?

0 投票
2 回答
338 浏览

jvm - Jasmin如何强制长场为长常数?

我设法在这个测试用例中隔离了我的问题:

当我尝试运行它时,我得到了这个:

一些调查(与javap)揭示了这一点:

换句话说,long 常量的值作为整数存储在类文件中。有什么方法可以强制 Jasmin 将常量长期存储在池中吗?我试过1L了,但它不起作用。将 的值设置为foo1大于INT_MAX(例如2147483648)的数字确实可以修复错误,但我希望有一个不需要我更改常量值的解决方案。

Jasmin 是否提供任何方法来执行此操作,或者这是否需要我更改 jasmin 的源代码?