gpt4 book ai didi

java - 当我将 int 数组更改为 char 数组时,为什么我的 .class 文件更大?

转载 作者:行者123 更新时间:2023-11-29 07:55:30 25 4
gpt4 key购买 nike

所以我的文件中有一行代码,上面写着

char[] arr = new char[256];

但是,当我将其更改为

int[] arr = new int[256];

类文件缩小了 .01 Kb。这是为什么?

最佳答案

这可能是因为编译器生成的符号短了几个字符。就像在 .java 文件中一样,第一行将创建一个更大的文件,因为它有更多的字符。

如果您在 vim 中打开 .class,您将看到下面的 int 数组。

Êþº¾^@^@^@2^@^O
^@^C^@^L^G^@^M^G^@^N^A^@^F<init>^A^@^C()V^A^@^DCode^A^@^OLineNumberTable^A^@^Dmain^A^@^V([Ljava/lang/String;)V^A^@
SourceFile^A^@!JFileChooserDisableDirectory.java^L^@^D^@^E^A^@^\JFileChooserDisableDirectory^A^@^Pjava/lang/Object^@!^@^B^@^C^@^@^@^@^@^B^@^A^@^D^@^E^@^A^@^F^@^@^@^]^@^A^@^A^@^@^@^E*·^@^A±^@^@^@^A^@^G^@^@^@^F^@^A^@^@^@^A^@ ^@^H^@ ^@^A^@^F^@^@^@"^@^A^@^B^@^@^@^F^P
¼
L±^@^@^@^A^@^G^@^@^@
^@^B^@^@^@^D^@^E^@^E^@^A^@
^@^@^@^B^@^K

这里是char数组.class文件。

Êþº¾^@^@^@2^@^O
^@^C^@^L^G^@^M^G^@^N^A^@^F<init>^A^@^C()V^A^@^DCode^A^@^OLineNumberTable^A^@^Dmain^A^@^V([Ljava/lang/String;)V^A^@
SourceFile^A^@!JFileChooserDisableDirectory.java^L^@^D^@^E^A^@^\JFileChooserDisableDirectory^A^@^Pjava/lang/Object^@!^@^B^@^C^@^@^@^@^@^B^@^A^@^D^@^E^@^A^@^F^@^@^@^]^@^A^@^A^@^@^@^E*·^@^A±^@^@^@^A^@^G^@^@^@^F^@^A^@^@^@^A^@ ^@^H^@ ^@^A^@^F^@^@^@"^@^A^@^B^@^@^@^F^P
¼^EL±^@^@^@^A^@^G^@^@^@
^@^B^@^@^@^D^@^E^@^E^@^A^@
^@^@^@^B^@^K

使用 TextDiff您可以在代码中看到差异。

关于java - 当我将 int 数组更改为 char 数组时,为什么我的 .class 文件更大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18039939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com