Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2015
    Messaggi
    4
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ma in generale, sai eseguire in "debugging" il tuo codice? Hai verificato se ad una seconda volta che apri il popup tramite azione del mouse (aspettandoti qualcosa di diverso), il costruttore del poupupmenu riceve il nuovo valore corretto e compie le azioni corrette .. o no?
    Si l'ho fatto e non riceve il nuovo valore per questo non capisco.

    Quote Originariamente inviata da andbin Visualizza il messaggio
    in Java non esistono i "distruttori", perlomeno non nel senso come in altri linguaggi. Un oggetto resta in vita finché è "raggiungibile" (che non vuol dire solo "referenziato"!). Se riesci a fare in modo che un oggetto non risulti più raggiungibile in alcun modo, allora verrà preso in considerazione dal gc (garbage collector).
    Scusami ti sembrerò deficiente ma vorrei capire bene questa cosa dei distruttore in che senso raggiungibile?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Betta91 Visualizza il messaggio
    Si l'ho fatto e non riceve il nuovo valore per questo non capisco.
    Purtroppo, senza vedere il tuo codice (quanto hai postato non è sufficiente né utile) non potrei nemmeno tirare ad indovinare.

    Quote Originariamente inviata da Betta91 Visualizza il messaggio
    vorrei capire bene questa cosa dei distruttore in che senso raggiungibile?
    Un oggetto è "raggiungibile" se è possibile tracciare un cammino (anche indiretto, attraverso altri oggetti) verso l'oggetto partendo da un certo ben preciso insieme di "radici". Questo insieme di radici è composto principalmente da tutti i campi reference "di classe" (static) presenti nelle classi caricate e da tutti i reference presenti negli stack frame degli stack dei "live" thread (ogni thread ha un suo proprio stack). C'è sicuramente anche dell'altro (ad esempio legato a JNI) ma dovresti vedere libri/siti specifici, perché qui andiamo su argomenti davvero "fini" e che non ricordo perfettamente.

    Se il garbage collector può tracciare questo cammino, allora l'oggetto è raggiungibile e non può assolutamente essere toccato né collezionato dal g.c. ... nemmeno per sogno.
    Il principio di raggiungibilità non è da confondere con il fatto che un oggetto è semplicemente e banalmente "referenziato". Due oggetti posso referenziarsi a vicenda tra di loro e non essere raggiungibili. In questo caso il g.c. (tutte le implementazioni moderne, ormai da tanti anni) è perfettamente in grado di collezionarli e liberare la memoria per entrambi.

    Riguardo i "distruttori", ripeto che in Java non c'è espressamente questo concetto. In C++ un distruttore è una funzione membro della classe che viene invocato automaticamente quando l'oggetto viene rilasciato (esplicitamente tramite delete su un puntatore o perché la variabile che tiene l'oggetto termina la sua esistenza, ad esempio).
    In Java non c'è proprio un equivalente. Esiste un finalize() (originariamente in java.lang.Object) ma qualunque libro valido e serio su Java ti dirà che è più critico da gestire, su cui non fare affidamento più di tanto e quindi generalmente da ignorare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.