Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您的javadoc是否编译到类文件中?_Java_Compiler Construction - Fatal编程技术网

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

您的javadoc是否编译到类文件中?,java,compiler-construction,Java,Compiler Construction,在编译java文件时,它是否也将javadocs和注释嵌入到类文件中 例如,如果您有大型javadoc,它会影响类文件的总体大小吗?或者编译器是否会忽略以/和/*开头的所有内容?否,注释不会编译到类文件中。这包括JavaDocs 相反,您需要在源代码上使用JavaDoc工具(如)来生成文档。不,类文件只是二进制数据 注释可以保留(取决于注释) 注释不会影响类文件的大小。否。有几个调试选项会影响类文件的大小,但注释绝不是生成的.class文件的一部分 一些估计: -g:line只添加行号信息(几

在编译
java
文件时,它是否也将javadocs和注释嵌入到类文件中


例如,如果您有大型javadoc,它会影响类文件的总体大小吗?或者编译器是否会忽略以
/
/*
开头的所有内容?

否,注释不会编译到类文件中。这包括JavaDocs


相反,您需要在源代码上使用JavaDoc工具(如)来生成文档。

不,类文件只是二进制数据

注释可以保留(取决于注释)


注释不会影响类文件的大小。

否。有几个调试选项会影响类文件的大小,但注释绝不是生成的
.class
文件的一部分

一些估计:

  • -g:line
    只添加行号信息(几个字节)
  • -g:vars
    包括所有变量的全名。这通常是最昂贵的选择
  • -g:source
    只添加源文件的名称(不带路径)
注意:
-parameters
使方法参数的名称可以通过反射访问。这与
-g:vars
无关

注释(因此JavaDoc)永远不会添加到字节码中


要查看
.class
文件中的结果,请使用
javap-v
加上文件的路径。

@deprecated
在JavaDoc中(不要与
@deprecated
混淆)用于设置位。您尝试过吗?即使设置了
-g:source
,也不包括Javadoc。我试图用JAD反编译类。@ctapobep:我刚刚用Java 6和7进行了反编译,你说得对:
-g:source
在类文件中不包含源代码。几分钟的刺激和谷歌搜索并没有发现这个选项的真正作用和原因:-/不幸的是,这个答案完全是错误的。Java源代码、注释或Javadoc从不包含在
.class
文件中。
-g:source
选项只会导致编译器将(剥离的)源文件路径作为
.class
文件常量池中的属性发出。@StephenC我无法删除它,因为它已被接受。让我们把它修好。什么是“剥离源路径”?它基本上是(AFAIK)删除了一些前缀的源文件的路径名。我需要再次深入研究代码,弄清楚前缀是什么/如何确定。不包括剥离的细节是合理的。。。因为我们实际上谈论的是一些不符合OP想要(或想要避免)的事情。