Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    317

    JAVA passaggio di variabile per riferimento

    Scusate la mia domanda potrebbe risultare sciocca, ma se ho un oggetto Vector pieno di elementi, e lo passo ad un metodo che deve operare su questi elementi, come si comporta java in fatto di memoria allocata ??
    Cioe', fa una copia dell'oggetto, lo passa al metodo e il garbadge c. andra' a liberare la memoria dell'oggetto piu' vecchio ?? Se io ho un vector da 1 GB avro' 2GB allocati finche' non arriva il GC ???
    Non penso che le cose vadano cosi'...
    Qualcuno puo' farmi luce su come opera java in questi casi e quali sono magari le strategie da adottare nel risparmio di memoria ? Grazie ciao a tutti

  2. #2
    Java passa sempre e solo parametri per copia, mai per riferimento.
    Però gli oggetti (quindi non i tipi di dato primitivi) è come se fossero passati per riferimento in quanto la copia si riferisce alla copia del puntatore alla locazione di memoria.
    Infatti la prova banale la puoi fare proprio con le strutture "mutabili" come vettori ed hashtable, ma anche con StringBuffer e così via (i tipi String, per contro, sono immutabili; per questo eventuali modifiche "Interne" ai metodi vengono perse all'esterno)

    ciao
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

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.