Java: la variable nula requiere espacio en la memoria


Answers

Me gustaría agregar:

  1. la variable de tipo de referencia se inicializará como valor nulo.
  2. null no es un objeto. porque (instancia nula de objeto) es igual a falso
  3. solo hay un valor nulo en JVM. No importa cuántas variables se refieran a nulo.

    Objeto s = (String) nulo;

    Objeto i = (Entero) nulo;

    System.out.println (s == i); // true

Question
class CheckStore {
    private String displayText;
    private boolean state;
    private String meaningfulText;
    private URL url;

    public CheckStore(String text, boolean state) {
        this.displayText = text;
        this.state = state;
    }
    :
    :
}

Como estoy inicializando solo dos variables ( displayText y state ) en el constructor, las otras dos variables ( meaningfulText y url que tendrán el valor null ) requerirán espacio en la memoria para almacenar el valor null .

Q1. Creo que requerirán espacio. Si lo hacen, ¿cuánta memoria tiene un valor null en la memoria (como int toma 4 bytes)?

Q2. Cuánto espacio lleva una secuencia en la memoria. Supongo que dependerá de la longitud de la cadena. Entonces, ¿cuánto espacio ocupa una cuerda en cuanto a la longitud?




Nulo significa 0. Generalmente hay un lugar nulo definido en la memoria. Siempre que uno lo señale utilizando un lenguaje de programación. Todo apunta al mismo lugar. Significa que solo se consume una memoria de 4 bytes para NULL. Entonces, lo que sea que señale no consume más memoria. La definición de NULL es específica del lenguaje pero lo define void * ptr = 0; es común en C y C ++. JAVA debe haberlo definido de manera similar. No es posible señalar nada ofc. Tienes que señalar algo. Pero definimos una nada común y todo apunta a que solo consume ese espacio.




Related



Tags

java java