Quando abbiamo una variabile di riferimento, ad es. per semplificare l'operazione, Integer i
, possiamo supporre che la dimensione di i
sia di circa 16 byte di overhead + 4 byte per l'effettivo int + 4 byte di padding, cioè 24 byte.
Quindi la mia domanda è se i
è null ci sono solo 4 byte del riferimento che non puntano da nessuna parte o ci sono altre informazioni "nascoste" aggiuntive che aggiungono a questo?Quanti byte un oggetto nullo?
risposta
Se ricordo correttamente, la specifica JVM indica che non è necessario che null
abbia un valore o una rappresentazione specifici, quindi potrebbe essere qualsiasi cosa. Che cosa è in genere è, non lo so, ma una probabile ipotesi è probabilmente 32 o 64 bit di zeri, a seconda della versione JVM.
Edit: Ecco la sezione pertinente: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html#jvms-2.4
La specifica Java Virtual Machine non mandato concreto nulla codifica valore.
Cheers,
Si utilizza ancora la memoria. Utilizza 4 byte per un 32 bit e 8 per un 64 credo.
trovato maggiori informazioni su questo: Java - Does null variable require space in memory
Se si imposta un riferimento a 'null', non punta a un oggetto sull'heap (che consuma memoria heap). Tuttavia, il riferimento stesso deve essere memorizzato. Come un campo in un oggetto o uno slot nel frame dello stack locale (se è una variabile locale). E questo ovviamente occupa tanti byte quante sono le dimensioni del "puntatore di oggetti ordinari" (cioè 32 o 64 bit). In Oggetti potrebbero esserci dei padding nei campi e negli stack c'è qualche riutilizzo (o in caso di ricorsione di più occorrenze dello stesso riferimento). Ma questo è tutto indipendente dal valore reale del riferimento (null o no). – eckes
- 1. Quanti byte occuperà una stringa?
- 2. Quanti byte utilizza Oracle quando si memorizza un singolo carattere?
- 3. Modello oggetto nullo
- 4. Intent.migrateExtraStreamToClipData() su un riferimento oggetto nullo
- 5. Ratchet/Websockets: quanti clienti si sono iscritti a un oggetto?
- 6. FluentValidazione regola per oggetto nullo
- 7. Converti qualsiasi oggetto in un byte []
- 8. Quanti oggetti String ..?
- 9. PHP: determina quanti byte vengono inviati tramite http
- 10. quanti byte devono mantenere in N cifre decimali
- 11. ifstream :: read non dice quanti byte legge veramente?
- 12. Quanti byte sono le istruzioni compilate nell'assembly x86?
- 13. Quanti byte sono IV e chiavi per AES?
- 14. Chiamare un metodo su un oggetto non inizializzato (puntatore nullo)
- 15. Byte Array su Oggetto immagine
- 16. Ottenere un oggetto immagine da un array di byte
- 17. - java.lang.NullPointerException - setText su riferimento oggetto nullo
- 18. ASP.NET MVC Model Binder restituisce oggetto nullo
- 19. Impostazione di un oggetto su nullo vs Dispose()
- 20. NullPointerException addToRequestQueue (com.android.volley.Request, java.lang.String) 'su un oggetto nullo di riferimento
- 21. Come restituire una stringa vuota se un oggetto è nullo?
- 22. Come si crea un oggetto nullo in C#
- 23. Android BitmapFactory ritorno nullo sul Base64 decodificato array di byte
- 24. Quanti byte il controller della cache recupera un tempo dalla memoria principale alla cache L2?
- 25. Quanti byte un Xeon porta nella cache per accesso alla memoria?
- 26. Passare byte nullo tramite identificatore di formato in `printf`
- 27. Quanti bit in un carattere?
- 28. Come scrivere byte non elaborati su un oggetto NSMutableData?
- 29. Python - è richiesto un byte come oggetto, non str
- 30. Conversione oggetto del documento per byte []
Vuoi dire l'oggetto, o il riferimento? – yshavit
corretto. Abbiamo solo 4 byte del riferimento che puntano a null. –