java编译器对编译后class以及其内部变量的命名规则是什么?

软件工程师、主攻高级编程语言虚拟机的设计与实现

6 👍 / 0 💬

问题描述

如果一个类中有内部类/嵌套类,则会生成很多类似Object$1的文件,甚至还有Object$1$sth,如果使用javassist这类lib分析class还很容易取到field$1这样命名的field。

楼主是想问那些$是怎么来的对吧。

对应的Java语言规范的规定在这里:

Chapter 13. Binary Compatibility