Here is a char array with length 1024. I dump Java program run in Java8 into a hprof file. I find the size of char[1024] is 2072.
In my opinion, empty char array takes header(8 bytes) plus reference(4 bytes) plus length(int 4 bytes). So size of empty char array is 16 bytes.
So total size of char[1024] should be 1024 * 2 + 16 = 2064
bytes.
I use Java 1.8 and run in jvm 1.8.0_333