当前位置: 首页 > 面试题库 >

您的javadocs是否已编译到类文件中?

顾嘉良
2023-03-14
问题内容

编译java文件时,它还会将javadocs和注释嵌入到类文件中吗?

例如,如果您有大型javadocs,是否会影响类文件的整体大小?还是编译器会忽略以//和开头的所有内容/*


问题答案:

否。有几个调试选项会影响类文件的大小,但注释永远不会成为结果.class文件的一部分。

一些估计:

  • -g:line 只是添加行号信息(几个字节
  • -g:vars包括所有变量的全名。这通常是最昂贵的选择。
  • -g:source 只需添加源文件的名称(无路径)。

注意:-parameters通过反射可访问方法参数的名称。这与无关-g:vars

注释(以及JavaDoc)永远不会添加到字节码中。

要查看.class文件中包含的内容,请使用javap -v加文件路径。



 类似资料:
  • 问题内容: 截至2010年10月,GNU的Java编译器是否已失效?是否有任何有效的替代方法(特别是用于将Java编译为本地代码)? LLVM解决方案将是首选。 问题答案: 您可以使用IKVM和Mono的提前编译器生成本机代码。 编辑 此页面底部有一个示例。

  • 我的Android项目中有一个C文件(

  • 问题内容: 我想知道为什么我们通过编译显示“ Hello,World!”的.c文件得到.o文件。是否大于Java .class文件,该文件也显示“ Hello,World!”? 问题答案: Java使用字节码来独立于平台并进行“预编译”,但是字节码由解释器使用并且被提供为足够紧凑,因此您在已编译的C程序中看到的机器代码并不相同。只需看一下Java编译的完整过程即可: 这是Java程序到机器代码转换

  • 问题内容: 如何确定是否已使用调试信息编译任何Java .class文件? 我怎样才能准确地知道使用了什么-g {source | lines | vars}选项? 问题答案: 如果在命令行上,则javap -l将显示LineNumberTable和LocalVariableTable(如果存在): 将在反编译开始时显示源文件: 以编程方式,我将研究ASM,而不是编写另一个字节码读取器。

  • 问题内容: 我在Eclipse中编译并运行程序,并且一切正常,但是当我将其与Ant打包并运行时,出现以下错误: 请注意,这是 运行时 错误,而不是Ant 的 编译器错误 。 我以前用0个问题构建了这个项目,现在 当我在lib文件夹中添加第二个软件包时,它突然对我起作用了 ? 这是供参考的构建文件: 在此先感谢您的帮助! 编辑: 这是我的主类构造的样子(这不是实际的文件,但这是我所基于的)。对于Ja

  • 我们在框架中有多个子模块,scss文件夹有多个可能的路径,例如: fW/submodule/_wwW/css/foo/bar/scss/ fW/submodule/subsubmodule/_www/css/foo/bar/fooagain/scss/ fw/submodule/views/tpl/library/libraryname/default/css/foo/bar/scss/ 等等。