问题标签 [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 投票
1 回答
409 浏览

java - 如何使用 javap 在 jar 文件中打印类、方法详细信息?

我想列出使用 java.lang.String.replace 方法的 jar 中的类。

<JAR>您要检查的罐子的名称在哪里。

0 投票
2 回答
290 浏览

java - java javap和groovy字节码比较

这是javap当我让他显示我的编译类时生成的代码(我选择了方法)

这是代码,通过groovyConsole(相同的方法)显示

但是哪个字节码更多raw?据我了解,javap添加了一些风格,所以第二个例子应该更真实bytecode。我对吗?

0 投票
2 回答
1826 浏览

java - 使用 javap 读取字节码

我通过在互联网上阅读 java 编译发现

我对吗?

现在我试图自己理解这一点。所以我Test.java通过调用来编译类

之后,我读到我可以用它javap来读取编译后的代码(=字节码)。

因此,我尝试在上面提到的字节码中查看编译器的重组(decleration 在构造函数中)。但是怎么办??是javap正确的工具吗?如果是,使用哪些参数?

谢谢你的帮助!

编辑:

好的,到目前为止谢谢!你能解释一下如何阅读输出javap -c Test吗?

0 投票
0 回答
745 浏览

ant - 将目标版本设置为 1.8 仍会生成主版本为 52 的类文件

我正在尝试将我的 java 源代码编译为目标 1.8。我在 javac 目标中设置了以下内容。

Ant 版本:2014 年 4 月 29 日编译的 Apache Ant(TM) 版本 1.9.4
Java 版本:1.8

但是当我使用 javap 工具检查生成的类文件时,它仍然显示类文件是主要的 52(JDK 7)

有谁知道为什么会这样?

问候,马尤兰

0 投票
3 回答
1937 浏览

java - Java 类有 2 个具有相同函数签名但返回类型不同的方法

AFAIK 不可能有一个具有相同调用签名的方法。然而:

这些清楚地显示了具有相同调用签名的多个方法。

  1. Java如何解析函数调用?
  2. 为什么会有多种功能?

编辑:通过只保留相关位来简化问题。

0 投票
1 回答
362 浏览

java - 了解 javap 输出

我有一个非常简单的课程:

当我javap -c在这门课上跑步时,这就是我得到的:

为什么?为什么第二个构造函数也有签名 ()V 而不是 (FFF)V ? 对于我的生活,我无法理解这一点!

0 投票
1 回答
502 浏览

scala - 在 Scala REPL 中找不到 javap 工具

我在 Windows 10 上使用 Scala 2.11.6(Java HotSpot(TM) 64 位服务器 VM,Java 1.7.0_79)。

我在 REPL 中关注

我的 PATH 环境变量有 C:\Program Files\Java\jdk1.7.0_79\bin 并且 JAVA_HOME 设置为 C:\Program Files\Java\jdk1.7.0_79

我可以在 C:\Program Files\Java\jdk1.7.0_79\bin 中看到 javap.exe。

我错过了什么吗?

谢谢。

0 投票
1 回答
113 浏览

java - 使用 Javassist 获取字节码的参数

http://lpaste.net/338173的反汇编代码(使用 javap -c)如下所示:http://lpaste.net/338175,在第三列,有 200 作为“sipush”的参数我使用 javassist 从类文件中得到这个?

0 投票
2 回答
140 浏览

bytecode - 常量池在类文件中丢失了#3

我使用“javap -verbose”解析一个类文件,发现常量池丢失#3,谁能告诉我原因?

在此处输入图像描述 

  

0 投票
2 回答
899 浏览

java - Java中的内部类

我正在阅读学习 Java 中的内部类。我找到了这段代码

编译后, javap 'Animal$Brain' 输出为

它解释了内部类如何在内部类构造函数中获取对其封闭实例的引用。但是当我像这样将内部类定义为私有时

然后编译后, javap 'Animal$Brain' 输出为

那么为什么输出不同呢?为什么没有显示内部类构造函数?在后一种情况下,内部类也正在获取封闭类实例的引用。