author and iconoclast
posted 11 years ago
Your basic assumption is invalid. You don't know that 40 bytes will be allocated -- you know that more than 40 bytes will be allocated, but you don't know how much more. A zero-element array does indded have a finite size, but the size is dependent on the JVM implementation, not something you can find out from the Java language itself.