Java 接口需要多少 space(在 binary/in 内存中)?

How much space (in binary/in memory) does a Java interface take?

我试图了解 space 一个 java 接口将占用多少空间,无论是在磁盘上的二进制文件中,还是在每个实例化对象的基础上。强制性 "every JVM implementation may be different" 免责声明,我更感兴趣的不是 100% 准确的答案,而是了解如何处理的要点。

如果我们假设一个简单的接口(没有静态最终变量,没有默认实现),这需要多少 space 二进制文件?我假设需要存储人类可读的 class 名称,对于 debugging/reflection,可能还有一些唯一的 class 标识符?当一个实现了这个接口的对象被实例化时,这个接口会给对象的内存表示增加多少额外字节的开销,如果有的话?

how much space a java interface will take up, both on disk in the binary, and on a per instantiated object basis.

磁盘上的二进制文件:
确定的答案:查看 .class 个文件的文件大小。
简答: 视情况而定,如
长答案:取决于:包名长度,接口名长度,方法个数,方法名长度,参数个数,参数类型,参数名长度,类型return 类型,是否包含调试信息,字节码版本,...等等...

基于每个实例化对象:
None.