我注意到enums
在编译后引入了许多额外的类文件( class $1),使总大小膨胀。它似乎附加到甚至使用枚举的每个类,并且这些类通常是重复的。
为什么会发生这种情况,有没有一种方法可以在不删除枚举的情况下防止这种情况。
(提出问题的原因是空间对我来说很重要)
编辑
在进一步研究这个问题时,Sun Javac1.6在每次您在上使用开关时都会创建一个额外的合成类。它使用了某种SwitchMap。This站点有更多信息,here告诉您如何分析Javac正在做什么。
每次在枚举上使用开关时,额外的物理文件似乎都要付出很高的代价!
有趣的是,Eclipe的编译器不会生成这些额外的文件。我想知道唯一的解决方案是不是换个编译器?
https://stackoverflow.com/questions/1834632
复制相似问题