获取对Java编译器符号表的访问权限

获取对Java编译器符号表的访问权限,java,compiler-construction,symbol-table,Java,Compiler Construction,Symbol Table,我想知道是否有可能以人类可读的形式访问Java编译器的符号表。编译Java文件时,是否有类似于在终端中运行的命令?或者,Eclipse或Intellij是否有插件或类似的东西可以访问它 谢谢。@Serge这与OP想要什么有什么关系?编译器在内部构建符号表,通常在编译完成后不会保存它们。整个符号表甚至可能不同时存在于内存中;编译器可以在编译方法时向其添加局部变量,但在方法完成后删除它们(以节省内存)。我没有看到一个通用的Java选项可以在编译时转储这些信息。如果你能告诉我们你想要什么样的信息可能会

我想知道是否有可能以人类可读的形式访问Java编译器的符号表。编译Java文件时,是否有类似于在终端中运行的命令?或者,Eclipse或Intellij是否有插件或类似的东西可以访问它


谢谢。

@Serge这与OP想要什么有什么关系?编译器在内部构建符号表,通常在编译完成后不会保存它们。整个符号表甚至可能不同时存在于内存中;编译器可以在编译方法时向其添加局部变量,但在方法完成后删除它们(以节省内存)。我没有看到一个通用的Java选项可以在编译时转储这些信息。如果你能告诉我们你想要什么样的信息可能会有所帮助。如果你想知道编译器的内部是如何工作的——我相信“javac”源代码是可用的,所以理论上你可以抓住它,找出它在哪里处理符号表,添加一些语句来转储一些信息,然后构建你自己的javac版本。显然,这不是小事。@Serge Reflection没有提供任何这样的东西。Java编译器的符号表仅在编译时出现。反射只在运行时出现。@Serge和你的建议只适用于“编译器如何在字节码中组织这些东西”,他并没有问这个问题。