Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA-JAPPLET]Processo di inizializzazione dei un JApplet

    Buongiorno a tutti.

    Sarei interessato a conoscere la teoria e mentre studio incontro dei punti che forse sono importanti e che credo meritino un minimo di attenzione.

    Sapreste darmi un link dove trovare dei documenti che spieghino tutta la teoria e che siano molto affidabili?

    MA ... IL PROBLEMA ATTUALE E':

    Centra qualcosa la reflection con il processo di inizializzazione dei JAppet?

    Cosa è reflection?

    Grazie e ciao.

  2. #2
    [aggiornamento]
    Ho trovato cosa è Reflection.
    http://java.html.it/articoli/leggi/2...ction-in-java/

    Ma non sono ancora riuscito a trovare informazioni a proposito del processo di attivazione-caricamento dei JApplet.

    Se qualcuno ne sa qualcosa è ben accetto.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA-JAPPLET]Processo di inizializzazione dei un JApplet

    Originariamente inviato da dario.cescon
    Centra qualcosa la reflection con il processo di inizializzazione dei JAppet?
    Sì, una applet, in generale, viene trovata (e viene istanziata invocando il costruttore no-arg) proprio tramite "reflection". Ma se ci pensi un attimo, pure una normale applicazione (una con il main()) viene avviata tramite reflection!! Quando tu avvi una applicazione con es.: java com.prova.Pippo, tu appunto passi una stringa con il nome completo della classe. Il runtime, avendo il nome, trova e carica la classe dinamicamente e tramite reflection va a cercare un metodo pubblico e statico con firma main(String[]) e se lo trova lo invoca.

    Originariamente inviato da dario.cescon
    Ma non sono ancora riuscito a trovare informazioni a proposito del processo di attivazione-caricamento dei JApplet.
    Ma scusa ... cosa vuoi sapere di preciso?? Cosa faccia esattamente a livello di codice il plugin delle applet non lo so. E comunque generalmente non è importante per il programmatore.

    Se hai capito cosa è la reflection (e come si usa, almeno a livello basilare), dovresti già intuire più o meno quello che potrebbe fare il plugin delle applet o il runtime che avvia una applicazione con il main.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Grazie per la risposta.

    In pratica vorrei sapere quale è il processo o i processi che hanno l'onere di attivare i varimetodi degli Applet.

    Cioè init, start, stop, destroy vengono chiamati in automatico, ma quale è il processo che li chiama?

    Credo che il processo di Reflection richiami init() e credo che in qualche modo centri anche con gli altri.

    Cerco un po' in rete (ancora), ma non so se riuscirò a trovare questa volta.

  5. #5
    Allora se ho capito qualcosa di quello che ho letto:

    Reflection è un modo per reperire informazioni sull'oggetto a tempo di esecuzione.

    Prende in considerazione gli oggeti e tramite metodi della classe Class ne ricava tutte le informazioni di cui si necessita.

    Esempio : quanti e quali metodi sono implementati nella classe, le variabili, il nome della classe ecc...

    Altro non so.

    Quello che mi è sorto un pochetto strano è : quali differenze ci sono tra i seguenti metodo ed espressione :

    - static Class forName(String className)

    - idClasse.class

    Ho capito che il primo è al run time e può generare un'eccezione.
    Il secondo è al compile time.

    Altro non so, ma quali sono le differenze, quale utilizzare e in quale caso?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da dario.cescon
    Reflection è un modo per reperire informazioni sull'oggetto a tempo di esecuzione.
    Più che "oggetto" sarebbe meglio dire "classe". La reflection è una API composta da una serie di interfacce/classi nel package java.lang.reflect e che fa capo principalmente alla classe java.lang.Class. E questa "modella" una classe ... non un oggetto. Se poi tramite reflection vuoi invocare ad esempio un metodo su un oggetto, allora sì, avendo un oggetto Method puoi usare invoke() e solo a quel punto passare il "tuo" oggetto su cui invocare il metodo.

    Originariamente inviato da dario.cescon
    Quello che mi è sorto un pochetto strano è : quali differenze ci sono tra i seguenti metodo ed espressione :

    - static Class forName(String className)

    - idClasse.class

    Ho capito che il primo è al run time e può generare un'eccezione.
    Il secondo è al compile time.

    Altro non so, ma quali sono le differenze, quale utilizzare e in quale caso?
    Il primo trova la classe dal suo nome contenuto in un String. Quindi appunto è una cosa "dinamica", che avviene a runtime. Il secondo si chiama "class literal" (vedi Class Literals) ed è una espressione che fornisce l'oggetto Class associato a quella classe. Concettualmente come quando assegni ad una variabile intera un valore costante.

    codice:
    Class<?> c = String.class;
    int a = 123;
    123 è un "literal" perché è una rappresentazione letterale nel sorgente di un valore intero e così anche String.class è un literal perché è una rappresentazione letterale nel sorgente dell'oggetto Class riferito a quella classe.

    Quando usare l'uno o l'altro è pure ovvio. Il nome della classe è noto/fisso a priori? Usa il class literal. Non sai il nome della classe perché è passato in input dall'utente o letto da un file o altro? Usa forName().
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.