Quanti byte occupa un array in Java? Supponiamo che sia una macchina a 64 bit e supponga anche che ci siano N elementi in un array, quindi tutti questi elementi occuperebbero 2 * N, 4 * N o 8 * N byte per diversi tipi di array.
E una lezione a Coursera afferma che occuperebbe 2 * N + 24, 4 * N + 24 o 8 * N + 24 byte per un array di elementi N e i 24 byte sono chiamati overhead, ma non hanno spiegato perché l'overhead è necessario.
Inoltre gli oggetti hanno un sovraccarico, che è di 16 byte.
Cosa sono esattamente queste spese generali? In cosa consistono questi byte 24/16?
Inoltre, queste spese generali esistono solo in Java? Che ne dici di C, C ++ e Python?