Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di LuckySevenRoX
    Registrato dal
    Sep 2011
    residenza
    Foligno
    Messaggi
    361

    [JAVA] Array e spazi di memoria

    Salve a tutti, vorrei capire una cosa.. Io creo un array in java e lo riempo. questo mi occupa un certo spazio nella memoria. nel momento in cui indirizzo l'array verso "null", lo spazio di memoria si libera o rimane occupato ma "non raggiungibile"?

    la mia idea era questa: so che l'utente può inserire un numero di dati che va da 1 a 50, quindi creo un array di 50 elementi (so che posso usare ArrayList e altri, ma il mio è un esperimento mirato). Una variabile contatore mi dice che l'utente riempe solamente 20 spazi nell'array.

    Per risparmiare memoria, ha senso creare un nuovo array di soli N elementi (quindi 20) per poi distruggere il primo array di 50 facendolo puntare a null?

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    devi fare delle distinzioni:
    1. se utilizzi un array statico (dove qui per statico intendo che la dimensione è fissata a priori al momento della sua creazione) allora ha senso quello che dici.
    es.

    codice:
    int [] array = new int[50];
    hai che in effetti in memoria hai lo spazio per tutto l'array, anche se ad esempio del primo ne usi solo 20.
    Se hai problemi stringenti di memoria, non so quanto ti salvi perché supponendo che del primo array ne occupi 20, hai la chiamata alla copia (con istanziazione del nuovo array) e cmq il primo ti resta in memoria perché sarà il garbage collector a deciderne la fine.
    Visto che il gc non sai quando e se viene chiamato, in java non so quanto ti convenga fare questo discorso.

    2. array dinamico (es. arraylist): non hai problemi perché occupi esattamente l'area di memoria necessaria, quindi questa copia non ha senso.
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.