Java 方法/参数名称是否影响堆栈上的内存量?
像方法名或参数名这样的东西对一个条目在堆栈上占用多少内存有影响吗 我知道像Java 方法/参数名称是否影响堆栈上的内存量?,java,memory,stack,Java,Memory,Stack,像方法名或参数名这样的东西对一个条目在堆栈上占用多少内存有影响吗 我知道像ints这样的基本参数确实会占用内存,但我想知道,如果简单地命名方法和参数名称,是否会节省内存,或者是否应该给它们足够长的名称来描述它们的功能 public static int convertSomeIntegerValueToSomeOtherIntegerValueByMethodOfDividingTheOriginalIntegerByTwoAndRoundingTheOutputBecauseItIsAnInt
int
s这样的基本参数确实会占用内存,但我想知道,如果简单地命名方法和参数名称,是否会节省内存,或者是否应该给它们足够长的名称来描述它们的功能
public static int convertSomeIntegerValueToSomeOtherIntegerValueByMethodOfDividingTheOriginalIntegerByTwoAndRoundingTheOutputBecauseItIsAnInteger(int veryVerboseIntegerValueWithAVeryLongParameterNameSoItCanBeDividedByTwo){
return veryVerboseIntegerValueWithAVeryLongParameterNameSoItCanBeDividedByTwo/2;
}
public static int divTwo(int a){
return a/2;
}
除了源代码的文件大小之外,这两种方法之间还有什么区别吗
此外,这些方法名称是否会使编译后的代码变大?否。这对内存使用没有任何影响 堆栈上的内容纯粹基于它们相对于堆栈帧的“位置”进行解析 方法和类名当然存储在某个地方(在类元数据中),但这并不影响内存使用(除了加载类本身——请注意,类本身不会影响创建实例的内存使用) 除非在编译期间启用调试符号,否则根本不会存储参数名和变量名 运行时占用内存(在堆上,而不是在堆栈上)的唯一东西是哈希表中的键(但即使有内部字符串常量,内存效果也应该很小) 此外,这些方法名称是否会使编译后的代码变大
对。但这在大计划中并不重要。我是这里的新手,所以如果你否决了投票,请留下评论,说明原因。谢谢对于最后一个问题,为什么不把它们放在一个类中,编译并查看?