







Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Java questions and answer italiano
Tipologia: Schemi e mappe concettuali
1 / 13
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!








- differenza jdk, jre, jvm JDK = Il Java Development Kit, abbreviato in JDK, è l'insieme del software e degli strumenti necessari per compilare, eseguire e testare applicazioni
per creare ed eseguire un'applicazione Java, e fa parte del Java Development Kit (JDK).
computer di eseguire un programma Java. JVM imita un vero processore Java, permettendo di svolgere su qualsiasi processore, indipendentemente dal sistema operativo, l'operazione di interpretazione del bytecode Java e conversione in linguaggio macchina.
- perché java non è 100% orientato agli oggetti - differenza equals() e == In Java, l'operatore == confronta i due oggetti per vedere se puntano alla stessa posizione di memoria; mentre il metodo. equals() confronta effettivamente i due oggetti per vedere se hanno lo stesso valore dell'oggetto. - spiega public static void main(String[] args)
prima creare un oggetto della classe.
programma al momento della richiesta di esecuzione, definisce un array di stringhe.
- cosa sta alla base della portabilità di java nel senso che una generica applicazione Java può venire eseguita dalla maggior parte delle macchine.
con estensione .java. l’azione di compilazione ad opera del compilatore Java, genera un secondo file .class con lo stesso nome dell’originale, ma con estensione diversa. questo è l’applicazione vera e propria e come tale può essere eseguita da una macchina. .java contiene le istruzioni Java scritte dal programmatore, aprendo il file .class con un editor di testo, vedremo una serie di simboli a noi incomprensibili che sarebbero le istruzioni in bytecode interpretabile solo dalla JVM che attua l’interpretazione. Quindi diciamo che Java è un linguaggio portabile perché la medesima applicazione Java, con estensione .class, è eseguibile su un qualsiasi sistema che contenga una JVM.
- spiega principi alla base della programmazione OOP
- A eredita da B sia il suo stato che il suo behavior (comportamento)
metodi all'interno di una struttura nascondendo l'implementazione dell'oggetto, cioè impedendo l'accesso ai dati con altri mezzi. Una classe in Java è un classico esempio di incapsulamento poiché racchiude i dati e i metodi in una singola unità.
assumere valori diversi in relazione ai tipi di dato a cui viene applicata. Prendiamo in considerazione l’overloading e l’override.
- cos'è il classloader Java Class Loader è una parte di Java Runtime Environment che carica dinamicamente le classi Java nella Java Virtual Machine. Di solito le classi vengono caricate solo su richiesta. Il sistema runtime Java non ha bisogno di conoscere file e file system poiché questo è delegato al caricatore di classi. - cos'è un costruttore Il costruttore è quel metodo di una classe il cui compito è proprio quello di creare nuove istanze, oltre ad essere il punto del programma in cui una nuova entità viene creata e resa disponibile. - costruttore può essere final Quando imposti un metodo come FINAL significa: "Non voglio che nessuna classe lo sovrascriva" e non avrebbe senso per il costruttore. - costruttore torna un valore
- perché main è statico Il metodo main() è statico perché quando si avvia il programma non esiste ancora alcun oggetto, pertanto il primo metodo del programma deve essere statico. - differenza static final/
- cosa è this
- cos'è l'ereditarietà e perché viene utilizzata
- A eredita da B sia il suo stato che il suo behavior (comportamento) - quindi un’istanza della classe A è utilizzabile in ogni parte del codice in cui sia possibile utilizzare una istanza della classe B. l'ereditarietà è un meccanismo fondamentale sia per il riutilizzo del codice che per lo sviluppo incrementale di programmi. Questo meccanismo permette infatti di estendere e potenziare classi già esistenti, senza ridefinire variabili e metodi d'istanza già presenti. - differenza variabile, metodo e classe final
alfanumerici o booleani.
- differenza tra classe astratta ed interfaccia Una classe astratta può avere al suo interno modificatori di accesso dei suoi metodi, proprietà, ecc. Un'interfaccia non può utilizzare modificatori di accesso per metodi, proprietà, ecc.
- è possibile fare l'override di un metodo statico Un metodo statico non è associato a nessuna istanza di una classe, quindi il concetto non è applicabile. - Che funzione ha il Garbage Collector? si intende una modalità automatica di gestione della memoria, mediante la quale vengono liberate porzioni di memoria non più utilizzate dalle applicazioni. - A cosa serve l'istruzione Break?
- A cosa serve l'istruzione RETURN?
- si può istanziare classe astratta
- può una classe essere final
- è possibile dichiarare protected per variabili nelle interfacce
- si può definire un metodo statico nelle interfacce
- cos'è un package Nel linguaggio Java il package è un pacchetto contenente gruppi di classi e interfacce. Ogni package è finalizzato a svolgere determinati compiti. - cos'è static import
- qual è la base class per Error e Exception
- cos'è un blocco finally
- un blocco finally può essere usato senza catch
eseguito, indipendentemente dal fatto che si sia verificata una condizione di errore (eccezione).
corrispondente. Viene sempre eseguito, anche se si è verificata un'eccezione non
- Cosa significa propagare un eccezione?
- cosa s'intende per reflection in java reflection è un‘infrastruttura che permette ispezionare un oggetto a runtime, al fine di scoprire la classe di appartenenza, la sua composizione in termini di metodi, campi, interfacce implementate, i modificatori utilizzati - cos'è la synchronization La sincronizzazione in Java è la capacità di controllare l'accesso di più thread a qualsiasi risorsa condivisa. Nel concetto di multithreading, più thread tentano di accedere alle risorse condivise alla volta per produrre risultati incoerenti. La sincronizzazione è necessaria per una comunicazione affidabile tra i thread. - cos'è deadlock il Deadlock è una situazione in cui due (o più) task si bloccano a vicenda aspettando che uno esegua una certa azione - elenca i principali tipi di input/output streams
- cos'è una socket
Input/Output su file
- differenza list e set La differenza è che Set è memorizzato in modo non ordinato e non consente valori duplicati. List è usato per memorizzare elementi in modo ordinato e consente valori duplicati. Gli elementi Set non sono accessibili da una posizione di indice e gli elementi List sono accessibili con una posizione di indice. - differenza map e set
- differenza collection e collections
diversi metodi di utilità come l'ordinamento e la ricerca utilizzati per operare sulla raccolta. Ha tutti i metodi statici.
- cos'è JDBC, e un driver jdbc
è il provider attraverso cui è possibile fornire connettività tra un'applicazione Java ed un database.
- quali sono i passi per connettersi ed eseguire una query a DB
- a cosa serve file di properties Le properties sono file utilizzati mantenere informazioni circa la configurazione di una applicazione - perché si fa override del metodo equals()?
Se anche il codice hash dei 2 oggetti è lo stesso, gli oggetti saranno considerati uguali. Pertanto, se si sovrascrive solo il metodo equals, anche se il metodo egual override indica che 2 oggetti sono uguali, l'hashcode definito dal sistema potrebbe non indicare che i 2 oggetti sono uguali. Quindi dobbiamo anche sovrascrivere il codice hash.
E' una classe Java che permette di effettuare il forward di request/response ad una risorsa.
- cos'è un contesto In programmazione il contesto è l'insieme di tutte le informazioni che in qualche modo possono condizionare l'unità di lavoro corrente. Ad esempio l'ambiente di esecuzione utilizzato, le variabili di ambiente, le variabili di istanza, le variabili locali, lo stato di altre classi, lo stato dell'ambiente corrente, ecc. - cos'è un ORM e che vantaggi ha L’Object-Relational Mapping (ORM) è una tecnica di programmazione utilizzata per memorizzare, richiamare, aggiornare ed eliminare dati da un database all’interno di programmi object-oriented In particolare l’ORM si applica in maniera specifica ai database relazionali e si occupa di convertire e tradurre quei dati che non potrebbero altrimenti coesistere tra questi database e i linguaggi OOP.
decidano quale classe istanziare
punto di accesso globale all’oggetto. Facade = Consente attraverso un’interfaccia più semplice di accedere a sottosistemi che espongono interfacce complesse e molto diverse tra loro. MVC = Il pattern Model-View-Controller, dividere un’applicazione in tre parti interconnesse, separando la logica di presentazione dei dati e dalla logica di business.
componenti di un sistema ed in cui le eventuali dipendenze non vengono scritte all’interno del componente stesso, ma gli vengono iniettate dall’esterno.
- nomina i differenti moduli di Spring framework
costruito l’intero framework. I moduli di Core e Beans sono responsabili delle funzionalità di Inversion Of Control (IoC) e Dependency Injection ed
hanno come compito principale la creazione, gestione e manipolazione di oggetti di qualsiasi natura che, in Spring, vengono detti beans. DATA ACCESS = Fornisce un livello di astrazione per l’accesso ai dati mediante tecnologie eterogenee tra loro come ad esempio JDBC, Hibernate. Questo modulo tende a nascondere la complessità delle API di accesso ai dati, semplificando ed uniformando quelle che sono le problematiche legate alla gestione delle connessioni, delle transazioni e delle eccezzioni. AOP = programmazzione Aspect Oriented. AOP offre un nuovo modo di programmare che porta vantaggi ad esempio nella gestione delle transazioni. WEB = questo livello mette a disposizione un’implementazione del pattern MVC realizzando lo Spring MVC Framework TESTING = un ambiente molto potente per il test delle componenti Spring, grazie anche alla sua integrazione con JUnit
- enumera le annotation più importanti in Spring
l'annotazione inietta implicitamente la dipendenza dall'oggetto.
esempio uno scenario in cui devi imporre una proprietà richiesta. Il l'annotazione indica che il bean interessato deve essere popolato al momento della configurazione con la proprietà richiesta.
specificare che restituisce un bean da gestire dal contesto Spring @Component = Annotation utilizzata a livello di classe per indicare un componente Spring in modo che venga aggiunta al contesto e container spring. @Controller = L' annotazione viene utilizzata per indicare che la classe è un controller Spring. Questa annotazione può essere utilizzata per identificare i controller per Spring MVC @Services = Annotazione a livello di classe, è simile a @Component. Viene utilizzata per dire a spring che questa classe è una classe che esegue servizi come calcoli o richiamo di API esterne @Repository = Questa annotazione viene utilizzata sulle classi Java che accedono direttamente al database. @RequestMapping = l'annotazione viene utilizzata per mappare le richieste Web su classi e metodi del gestore specifici. Quando viene utilizzato a livello di classe crea un URI di base
protocollo di trasporto, ma non è limitato nè vincolato ad esso, dal momento che può benissimo usare altri protocolli di trasporto. A differenza di HTTP, però, le specifiche di SOAP non affrontano argomenti come la sicurezza REST = REST rappresenta un sistema di trasmissione di dati su HTTP senza ulteriori livelli, quali ad esempio appunto SOAP. I sistemi REST non prevedono il concetto di sessione, ovvero sono stateless
- cosa è un container IoC Inversion of Control (o IoC ), è il principio su cui si basano i moderni framework. Contrariamente a quanto accade utilizzando una libreria , in cui è il nostro codice a richiamare gli elementi definiti nella stessa, lavorando con un framework sarà il nostro codice ad essere richiamato dai componenti del framework. il framework implementa la gran parte della logica applicativa,