编译为什么Java编译器默认不缩短名称?(用于性能和模糊处理)
我无法理解为什么Java编译器不通过用一些唯一的ID替换变量、参数和方法名来缩短它们的名称
例如,考虑到
public class VeryVeryVeryVeryVeryLongClass {
private int veryVeryVeryVeryVeryLongInt = 3;
public void veryVeryVeryVeryVeryLongMethod(int veryVeryVeryVeryVeryLongParamName) {
this.veryVeryVeryVeryVeryLongInt = veryVeryVeryVeryVeryLongParamName;
}
}
编译后的文件包含所有这些很长的名称:
简单的唯一ID难道不会加快解析速度,并提供第一次混淆吗
# 1 楼答案
您假设总是需要模糊处理,但事实并非如此:
String name = p.a1()
这样的代码,而不是String name = p.getName()
在交付完成的应用程序时,模糊处理通常是最后一步,即使如此,除非目标平台有严重的内存限制,否则它也不会被特别频繁地使用
# 2 楼答案
不,它会添加一个映射,这可能会减慢速度
是的,但是谁想让编译器进行模糊处理呢?不是我
你的建议毫无价值