Java è un linguaggio di programmazione di alto livello originariamente sviluppato da Sun Microsystems e rilasciato nel 1995. Java può essere eseguito su una varietà di piattaforme, come Windows, Mac OS e le varie versioni di UNIX.

Java funziona su una varietà di piattaforme, come Windows, Mac OS e le varie versioni di UNIX / Linux come HP-Unix, Sun Solaris, Redhat Linux, Ubuntu, CentOS, ecc.

Alcune funzionalità includono Object Oriented, Platform Independent, Robust, Interpreted, Multi-threaded

Il suo compilatore genera un formato di file oggetto indipendente dall'architettura, che rende il codice compilato eseguibile su molti processori, con la presenza del sistema runtime Java.

Java utilizza il compilatore Just-In-Time per consentire prestazioni elevate. Il compilatore Just-In-Time è un programma che trasforma il bytecode Java, che è un programma che contiene istruzioni che devono essere interpretate in istruzioni che possono essere inviate direttamente al processore.

È progettato per adattarsi a un ambiente in evoluzione. I programmi Java possono trasportare una grande quantità di informazioni di runtime che possono essere utilizzate per verificare e risolvere gli accessi agli oggetti in fase di runtime.

Quando Java viene compilato, non viene compilato in una macchina specifica della piattaforma, piuttosto in un codice byte indipendente dalla piattaforma. Questo codice byte viene distribuito sul Web e interpretato dalla macchina virtuale (JVM) su qualsiasi piattaforma venga eseguita.

Netbeans, Eclipse, ecc.

Alcune parole chiave Java sono import, super, finalmente, ecc.

Object è un'entità di runtime e il suo stato è memorizzato nei campi e il comportamento viene mostrato tramite metodi. I metodi operano sullo stato interno di un oggetto e fungono da meccanismo principale per la comunicazione da oggetto a oggetto.

Una classe è una stampa blu da cui vengono creati i singoli oggetti. Una classe può contenere campi e metodi per descrivere il comportamento di un oggetto.

Una classe è composta da variabili locali, variabili di istanza e variabili di classe.

Le variabili definite all'interno di metodi, costruttori o blocchi sono chiamate variabili locali. La variabile verrà dichiarata e inizializzata all'interno del metodo e verrà distrutta al termine del metodo.

Le variabili di istanza sono variabili all'interno di una classe ma al di fuori di qualsiasi metodo. Queste variabili vengono istanziate quando la classe viene caricata.

Queste sono variabili dichiarate con in una classe, al di fuori di qualsiasi metodo, con la parola chiave statica.

Creazione di oggetti di controllo della classe Singleton, limitando il numero a uno ma consentendo la flessibilità di creare più oggetti se la situazione cambia.

Il costruttore viene richiamato quando viene creato un nuovo oggetto. Ogni classe ha un costruttore. Se non scriviamo esplicitamente un costruttore per una classe, il compilatore java costruisce un costruttore predefinito per quella classe.

Un oggetto viene prima dichiarato, quindi istanziato e quindi inizializzato.

Il valore predefinito del tipo di dati byte è 0.

Il valore predefinito di float e double datatype è diverso rispetto a C / C ++. Per float è 0.0f e per double è 0.0d

Questo tipo di dati viene utilizzato per risparmiare spazio in array di grandi dimensioni, principalmente al posto degli interi, poiché un byte è quattro volte più piccolo di un int.

Le variabili di classe note anche come variabili statiche vengono dichiarate con la parola chiave static in una classe, ma al di fuori di un metodo, un costruttore o un blocco.

Java fornisce modificatori di accesso per impostare i livelli di accesso per classi, variabili, metodi e costruttori. Un membro ha un pacchetto o un'accessibilità predefinita quando non è specificato alcun modificatore di accessibilità.

È possibile accedere alle variabili, metodi e costruttori dichiarati protetti in una superclasse solo dalle sottoclassi di un altro pacchetto o da qualsiasi classe all'interno del pacchetto della classe dei membri protetti.

Java fornisce questi modificatori per fornire funzionalità diverse dai modificatori di accesso, sincronizzati utilizzati per indicare che un metodo è accessibile solo da un thread alla volta.

Operatori di suffisso ie () []. è alla massima precedenza.

Le variabili utilizzate in un'istruzione switch possono essere solo string, enum, byte, short, int o char.

Questo metodo viene utilizzato per ottenere il tipo di dati primitivo di una determinata stringa.

La classe String è immutabile, quindi una volta creata non è possibile modificare un oggetto String. Poiché String è immutabile, può essere tranquillamente condiviso tra molti thread, il che è considerato molto importante per la programmazione multithread.

La classe String è considerata immutabile, quindi una volta creata non è possibile modificare un oggetto String. Se è necessario apportare molte modifiche alle stringhe di caratteri, è necessario utilizzare StringBuffer.

Usa StringBuilder ogni volta che è possibile perché è più veloce di StringBuffer. Tuttavia, se la sicurezza del thread è necessaria, utilizzare gli oggetti StringBuffer.

Il pacchetto java.util.regex viene utilizzato per questo scopo.

java.util.regex è costituito da tre classi: classe Pattern, classe Matcher e classe PatternSyntaxException.

È possibile definire un metodo che verrà chiamato appena prima della distruzione finale di un oggetto da parte del garbage collector. Questo metodo è chiamato finalize () e può essere utilizzato per garantire che un oggetto termini in modo pulito.

Un'eccezione è un problema che sorge durante l'esecuzione di un programma. Le eccezioni vengono rilevate dai gestori posizionati lungo lo stack di chiamata del metodo del thread.

È un'eccezione che è tipicamente un errore dell'utente o un problema che non può essere previsto dal programmatore. Ad esempio, se un file deve essere aperto, ma il file non può essere trovato, si verifica un'eccezione. Queste eccezioni non possono essere semplicemente ignorate al momento della compilazione.

È un'eccezione che si verifica che probabilmente avrebbe potuto essere evitata dal programmatore. A differenza delle eccezioni controllate, le eccezioni di runtime vengono ignorate al momento della compilazione.

La classe Exception ha due sottoclassi principali: classe IOException e classe RuntimeException.

Se un metodo non gestisce un'eccezione selezionata, il metodo deve dichiararlo utilizzando la parola chiave throws. La parola chiave throws appare alla fine della firma di un metodo.

È possibile lanciare un'eccezione, una nuova istanziata o un'eccezione appena rilevata, utilizzando la parola chiave throw.

La parola chiave infine viene utilizzata per creare un blocco di codice che segue un blocco try. Un blocco di codice finalmente viene sempre eseguito, indipendentemente dal fatto che si sia verificata o meno un'eccezione.

Durante la creazione della tua eccezione -

  • Tutte le eccezioni devono essere figlio di Throwable.

  • Se si desidera scrivere un'eccezione selezionata che viene applicata automaticamente dalla regola Handle o Declare, è necessario estendere la classe Exception.

  • Se si desidera scrivere un'eccezione di runtime, è necessario estendere la classe RuntimeException.

È il processo in cui un oggetto acquisisce le proprietà di un altro. Con l'uso dell'ereditarietà le informazioni sono gestibili in ordine gerarchico.

Se il metodo sovrascrive uno dei metodi della sua superclasse, il metodo sovrascritto può essere invocato tramite l'uso della parola chiave super. Può essere utilizzato anche per fare riferimento a un campo nascosto.

Il polimorfismo è la capacità di un oggetto di assumere molte forme. L'uso più comune del polimorfismo in OOP si verifica quando un riferimento alla classe padre viene utilizzato per fare riferimento a un oggetto classe figlio.

Si riferisce alla capacità di rendere astratta una classe in OOP. Aiuta a ridurre la complessità e migliora anche la manutenibilità del sistema.

Queste classi non possono essere istanziate e sono parzialmente implementate o per niente implementate. Questa classe contiene uno o più metodi astratti che sono semplicemente dichiarazioni di metodo senza un corpo.

Se si desidera che una classe contenga un metodo particolare ma si desidera che l'effettiva implementazione di quel metodo sia determinata dalle classi figlie, è possibile dichiarare il metodo nella classe genitore come astratto.

È la tecnica per rendere privati ​​i campi di una classe e fornire l'accesso ai campi tramite metodi pubblici. Se un campo è dichiarato privato, non può essere acceduto da nessuno al di fuori della classe, nascondendo così i campi all'interno della classe. Pertanto l'incapsulamento viene anche definito come nascondere i dati.

Il vantaggio principale dell'incapsulamento è la capacità di modificare il nostro codice implementato senza rompere il codice di altri che usano il nostro codice. Con questo incapsulamento si dà manutenibilità, flessibilità ed estensibilità al nostro codice.

Un'interfaccia è una raccolta di metodi astratti. Una classe implementa un'interfaccia, ereditando così i metodi astratti dell'interfaccia.

Include:

  • L'interfaccia non può essere istanziata

  • Un'interfaccia non contiene alcun costruttore.

  • Tutti i metodi in un'interfaccia sono astratti.

Un pacchetto può essere definito come un raggruppamento di tipi correlati (classi, interfacce, enumerazioni e annotazioni) che forniscono protezione dell'accesso e gestione dello spazio dei nomi.

I pacchetti vengono utilizzati in Java per prevenire conflitti di denominazione, per controllare l'accesso, per rendere più facile la ricerca / localizzazione e l'utilizzo di classi, interfacce, enumerazioni e annotazioni, ecc.

Un programma multithread contiene due o più parti che possono essere eseguite contemporaneamente. Ciascuna parte di tale programma è chiamata thread e ogni thread definisce un percorso di esecuzione separato.

Il thread può essere creato: implementando l'interfaccia Runnable, estendendo la classe Thread.

Un'applet è un programma Java che viene eseguito in un browser Web. Un'applet può essere un'applicazione Java completamente funzionante perché dispone dell'intera API Java.

Un applet estende la classe java.applet.Applet.

Usa la garbage collection per liberare la memoria. Pulendo quegli oggetti che non sono più referenziati da nessuno dei programmi.

Un oggetto immutabile non può essere modificato una volta creato.

Viene utilizzato con variabili o metodi e utilizzato per chiamare costruttori della stessa classe.

È una raccolta di elementi che non può contenere elementi duplicati. L'interfaccia Set contiene solo metodi ereditati da Collection e aggiunge la restrizione che gli elementi duplicati sono proibiti.

È un Set implementato quando vogliamo elementi in un ordine ordinato.

Viene utilizzato per ordinare raccolte e array di oggetti utilizzando collections.sort () e java.utils. Gli oggetti della classe che implementa l'interfaccia Comparable possono essere ordinati.

Include:

  • Throw viene utilizzato per attivare un'eccezione dove as throws viene utilizzato nella dichiarazione di eccezione.

  • Senza i lanci, l'eccezione selezionata non può essere gestita mentre l'eccezione selezionata può essere propagata con lanci.

Quanto segue mostra la spiegazione individualmente:

  • pubblico: è lo specificatore di accesso.

  • static: consente di chiamare main () senza istanziare una particolare istanza di una classe.

  • void - afferma il compilatore che nessun valore viene restituito da main ().

  • main (): questo metodo viene chiamato all'inizio di un programma Java.

  • String args [] - il parametro args è un array di istanze della classe String

Java Runtime Environment è un'implementazione della Java Virtual Machine che esegue programmi Java. Fornisce i requisiti minimi per l'esecuzione di un'applicazione Java;

I file JAR sono file Java Archive e aggregano molti file in uno solo. Contiene classi Java in una libreria. I file JAR sono costruiti sul formato di file ZIP e hanno l'estensione di file .jar.

Questo è il file di archivio Web e viene utilizzato per memorizzare XML, classi Java e pagine JavaServer. che viene utilizzato per distribuire una raccolta di JavaServer Pages, Java Servlet, classi Java, file XML, pagine Web statiche ecc.

Migliora le prestazioni di runtime dei programmi per computer basati su bytecode.

I linguaggi di programmazione basati su oggetti seguono tutte le caratteristiche degli OOP tranne l'ereditarietà. JavaScript è un esempio di linguaggi di programmazione basati su oggetti.

Il compilatore java crea un costruttore predefinito solo se non è presente un costruttore nella classe.

No, non è possibile.

Viene utilizzato per inizializzare il membro dei dati statici, viene eseguito prima del metodo principale al momento del caricamento della classe.

Mantenere il riferimento dell'altra classe all'interno di un'altra classe è noto come composizione.

Se una classe ha più funzioni con lo stesso nome ma parametri diversi, è noto come Overload del metodo.

Se una sottoclasse fornisce un'implementazione specifica di un metodo che è già fornito dalla sua classe genitore, è noto come Method Overriding.

Il sovraccarico del metodo aumenta la leggibilità del programma. L'override del metodo prevede l'implementazione specifica del metodo che è già fornito dal suo parametro super class deve essere diverso in caso di sovraccarico, il parametro deve essere lo stesso in caso di override.

Le classi finali vengono create in modo che i metodi implementati da quella classe non possano essere sovrascritti. Non può essere ereditato.

Viene generata una NullPointerException quando si chiama il metodo di istanza di un oggetto null, si accede o si modifica il campo di un oggetto null ecc.

Un thread può entrare nello stato di attesa invocando il suo metodo sleep (), bloccandosi su IO, tentando senza successo di acquisire il lock di un oggetto o invocando il metodo wait () di un oggetto. Può anche entrare nello stato di attesa invocando il suo metodo (deprecato) suspend ().

L'utilità di pianificazione del sistema operativo assegna il tempo di esecuzione a più attività. Passando rapidamente tra le attività in esecuzione, si crea l'impressione che le attività vengano eseguite in sequenza.

Dopo che un thread è stato avviato, tramite il suo metodo start () della classe Thread, la JVM richiama il metodo run () del thread quando il thread viene inizialmente eseguito.

Sì, lo fa. FileNoFoundException viene ereditato da IOException. Le sottoclassi di eccezione devono essere catturate per prime.

Quando un'attività richiama il proprio metodo yield (), ritorna allo stato pronto. Quando un'attività richiama il suo metodo sleep (), ritorna allo stato di attesa.

La classe Vector fornisce la capacità di implementare un array di oggetti espandibile. Vector si rivela molto utile se non conosci in anticipo la dimensione dell'array, o se ne hai solo bisogno che possa cambiare le dimensioni nel corso della vita di un programma.

Unicode richiede 16 bit e ASCII richiede 7 bit. Sebbene il set di caratteri ASCII utilizzi solo 7 bit, di solito è rappresentato come 8 bit. UTF-8 rappresenta i caratteri utilizzando modelli a 8, 16 e 18 bit. UTF-16 utilizza schemi di bit a 16 bit e maggiori.

Si tratta di classi che consentono di accedere ai tipi primitivi come oggetti. Esempio: numero intero, carattere, doppio, booleano ecc.

La classe Frame estende Window per definire una finestra principale dell'applicazione che può avere una barra dei menu.

pacchetto javax.Swing. Tutti i componenti in Swing, ad eccezione di JApplet, JDialog, JFrame e JWindow sono componenti leggeri.

Il metodo paint () supporta la pittura tramite un oggetto Graphics. Il metodo repaint () viene utilizzato per far invocare paint () dal thread di pittura AWT.

Viene utilizzato per creare oggetti che forniscono l'accesso ai file e alle directory di un file system locale.

La gerarchia delle classi Reader / Writer è orientata ai caratteri e la gerarchia delle classi InputStream / OutputStream è orientata ai byte.

La classe Class viene utilizzata per ottenere informazioni sulla progettazione di un oggetto e l'istanza della classe java.lang.Class rappresenta classi, interfacce in un'applicazione Java in esecuzione.

Una variabile statica è associata alla classe nel suo insieme piuttosto che a istanze specifiche di una classe. Le variabili non statiche assumono valori univoci con ogni istanza di oggetto.

La serializzazione è il processo di scrittura dello stato di un oggetto in un flusso di byte. La deserializzazione è il processo di ripristino di questi oggetti.

Fa parte dell'analisi di un programma e descrive una situazione che un programma potrebbe incontrare e il comportamento che il programma dovrebbe mostrare in quella circostanza.

La sottoclasse eredita tutti i metodi pubblici e protetti e l'implementazione. Inoltre eredita tutti i metodi di modifica predefiniti e la loro implementazione.

Se è presente un'istanza del pulsante chiamata b1, è possibile aggiungere una scorciatoia al menu chiamando b1.setMnemonic ('F'), in modo che l'utente possa essere in grado di utilizzare Alt + F per fare clic sul pulsante.

Sì, aggiungi semplicemente un metodo main () all'applet.

I componenti AWT sono pesanti, mentre i componenti Swing sono leggeri. I componenti pesanti dipendono dal toolkit di windowing locale. Ad esempio, java.awt.Button è un componente pesante, quando è in esecuzione sulla piattaforma Java per la piattaforma Unix, si associa a un vero pulsante Motif.

I costruttori devono avere lo stesso nome della classe e non possono restituire un valore. Vengono chiamati solo una volta, mentre i metodi normali possono essere chiamati molte volte.

Sì, poiché l'ereditarietà eredita tutto dalla super classe e dall'interfaccia, può rendere la sottoclasse troppo raggruppata e talvolta soggetta a errori durante l'override dinamico o il sovraccarico dinamico in alcune situazioni.

Quando si copiano elementi tra matrici diverse, se gli argomenti di origine o di destinazione non sono matrici o i loro tipi non sono compatibili, verrà generata un'eccezione ArrayStoreException.

Sì, usa questa sintassi ().

Il codice sleep (2000); mette da parte il filo per due secondi esatti. Il codice wait (2000), provoca un'attesa fino a due secondi. Un thread potrebbe interrompere l'attesa prima se riceve la chiamata notify () o notifyAll (). Il metodo wait () è definito nella classe Object e il metodo sleep () è definito nella classe Thread.

L'eccezione ArithmeticException viene generata quando il numero intero viene diviso per zero o si prende il resto di un numero per zero. Non viene mai lanciato nelle operazioni in virgola mobile.

Una variabile transitoria è una variabile che potrebbe non essere serializzata durante la serializzazione e che viene inizializzata dal suo valore predefinito durante la deserializzazione,

La sincronizzazione è la capacità di controllare l'accesso di più thread alle risorse condivise. La parola chiave sincronizzata in Java fornisce il blocco che garantisce l'accesso reciproco esclusivo alla risorsa condivisa e previene la corsa ai dati.

L'API delle collezioni è un insieme di classi e interfacce che supportano le operazioni sulle raccolte di oggetti.

La garbage collection non garantisce che un programma non esaurirà la memoria. È possibile che i programmi utilizzino le risorse di memoria più velocemente di quanto non vengano raccolte tramite Garbage Collection. È anche possibile che i programmi creino oggetti non soggetti a Garbage Collection.

Il pannello è la superclasse immediata. Un pannello fornisce lo spazio in cui un'applicazione può collegare qualsiasi altro componente, inclusi altri pannelli.

L'operatore = è associativo corretto.

Un'istruzione break determina la chiusura dell'istruzione a cui si applica (switch, for, do o while). Un'istruzione continue viene utilizzata per terminare l'iterazione del ciclo corrente e restituire il controllo all'istruzione del ciclo.

È possibile accedere a una variabile privata solo all'interno della classe in cui è dichiarata.

Lo scopo della classe System è fornire l'accesso alle risorse di sistema.

Gli otto tipi primitivi sono byte, char, short, int, long, float, double e boolean.

Quando una finestra viene ridipinta dal thread di pittura AWT, imposta le aree di ritaglio sull'area della finestra che richiede la riverniciatura.

La classe componente è la super classe immediata.

Il sistema runtime Java genera le eccezioni RuntimeException ed Error.

Il garbage collector invoca il metodo finalize () di un oggetto quando rileva che l'oggetto è diventato irraggiungibile.

Un thread morto non può essere riavviato.

Integer / e% possono provocare la generazione di un'eccezione ArithmeticException.

Il valore predefinito del tipo booleano è false.

Un programma di caricamento classi è un oggetto responsabile del caricamento delle classi. La classe ClassLoader è una classe astratta.

Una classe astratta può avere metodi di istanza che implementano un comportamento predefinito. Un'interfaccia può solo dichiarare costanti e metodi di istanza, ma non può implementare il comportamento predefinito e tutti i metodi sono implicitamente astratti. Un'interfaccia ha tutti i membri pubblici e nessuna implementazione.

Il programma genera l'errore "NoSuchMethodError" in fase di esecuzione.

Null, a meno che non sia definito esplicitamente.

No, una classe di primo livello non può essere privata o protetta. Può avere "public" o nessun modificatore.

Possiamo passarli come parametri del metodo dove un metodo si aspetta un oggetto. Fornisce inoltre metodi di utilità.

Un errore è una condizione irrecuperabile che si verifica in fase di esecuzione. Come l'errore OutOfMemory. Le eccezioni sono le condizioni che si verificano a causa di un input errato, ecc. Ad esempio, FileNotFoundException verrà generata se il file specificato non esiste.

Non è necessario che ogni blocco try sia seguito da un blocco catch. Dovrebbe essere seguito da un blocco catch o da un blocco finally.

Un thread è nello stato pronto come stato iniziale dopo che è stato creato e avviato.

La classe Locale viene utilizzata per adattare l'output del programma alle convenzioni di una particolare regione geografica, politica o culturale.

I metodi sincronizzati sono metodi utilizzati per controllare l'accesso a un oggetto. Un'istruzione sincronizzata può essere eseguita solo dopo che un thread ha acquisito il blocco per l'oggetto o la classe a cui si fa riferimento nell'istruzione sincronizzata.

Il polimorfismo di runtime o l'invio dinamico del metodo è un processo in cui una chiamata a un metodo sottoposto a override viene risolta in fase di esecuzione anziché in fase di compilazione. In questo processo, un metodo sostituito viene chiamato tramite la variabile di riferimento di una superclasse.

Il binding si riferisce al collegamento di una chiamata di procedura al codice da eseguire in risposta alla chiamata. Il binding dinamico significa che il codice associato a una determinata chiamata di procedura non è noto fino al momento della chiamata in fase di esecuzione.

No, il costruttore non può essere ereditato.

ArrayList può crescere dinamicamente e fornisce meccanismi di ricerca e inserimento più potenti rispetto agli array.

L'eliminazione nell'elenco collegato è veloce perché implica solo l'aggiornamento del puntatore successivo nel nodo prima del nodo eliminato e l'aggiornamento del puntatore precedente nel nodo dopo il nodo eliminato.

Se è necessario aggiungere e rimuovere frequentemente elementi dal centro dell'elenco e accedere solo agli elementi dell'elenco in modo sequenziale, è necessario utilizzare LinkedList. Se è necessario supportare l'accesso casuale, senza inserire o rimuovere elementi da un punto diverso dalla fine, è necessario utilizzare ArrayList.

È una raccolta restituita dal metodo values ​​() della Map Interface, contiene tutti gli oggetti presenti come valori nella mappa.

L'operatore punto (.) Viene utilizzato per accedere alle variabili di istanza e ai metodi degli oggetti di classe, nonché per accedere a classi e sotto-pacchetti da un pacchetto.

Il costruttore privato viene utilizzato se non si desidera che altre classi istanzino l'oggetto e impediscano la creazione di sottoclassi

Cast di tipo significa trattare una variabile di un tipo come se fosse un altro tipo.

Un thread è un'esecuzione in un programma. Il ciclo di vita di un thread include:

  • Stato neonato
  • Stato eseguibile
  • Stato corrente
  • Stato bloccato
  • Stato morto

L'operatore >> trasporta il bit di segno quando si sposta a destra. I bit >>> a riempimento zero che sono stati spostati.

Il metodo setBounds () viene utilizzato per questo scopo.

L'intervallo del tipo breve va da - (2 ^ 15) a 2 ^ 15 - 1.

Classe MenuItem

No, Java non consente gli argomenti predefiniti.

I numeri ottali sono indicati dallo zero iniziale in java, esempio: 06

I numeri esadecimali sono indicati con 0x o 0X iniziali in java, esempio - 0XF

Sì, un esempio può essere romperne uno;

L'istruzione di importazione è consentita all'inizio del file di programma dopo l'istruzione del pacchetto.

Viene utilizzato per sospendere o interrompere temporaneamente l'esecuzione del thread.

Viene utilizzato per scoprire se un thread è ancora in esecuzione o meno.

È un metodo statico pubblico utilizzato per ottenere un riferimento al thread corrente.

Il thread principale viene creato automaticamente e inizia ad essere eseguito immediatamente all'avvio di un programma. È un thread da cui hanno origine tutti gli altri thread secondari.

Il ciclo di vita prevede i seguenti passaggi:

  • Initialization

  • Starting

  • Stopping

  • Destroying

  • Painting

Inizializza l'applet ed è il primo metodo da chiamare.

getImage (oggetto URL, nome file) viene utilizzato per questo scopo.

Viene utilizzato per specificare il nome della classe dell'applet.

È una semplice superficie di disegno che viene utilizzata per dipingere immagini o per eseguire altre operazioni grafiche.

Si riferisce alla scrittura di programmi che vengono eseguiti su più dispositivi (computer), in cui i dispositivi sono tutti collegati tra loro tramite una rete.

I socket forniscono il meccanismo di comunicazione tra due computer che utilizzano TCP. Un programma client crea un socket alla fine della comunicazione e tenta di connetterlo a un server.

Le prese sono flessibili e sufficienti. Una programmazione efficiente basata su socket può essere facilmente implementata per comunicazioni generali. Causa un basso traffico di rete.

Le comunicazioni basate su socket consentono solo di inviare pacchetti di dati grezzi tra le applicazioni. Sia il lato client che quello server devono fornire meccanismi per rendere i dati utili in qualsiasi modo.

La classe java.net.ServerSocket viene utilizzata dalle applicazioni server per ottenere una porta e ascoltare le richieste dei client

La classe java.net.Socket rappresenta il socket che sia il client che il server utilizzano per comunicare tra loro.

I generics forniscono la protezione dai tipi in fase di compilazione che consente ai programmatori di rilevare tipi non validi in fase di compilazione. I metodi Java Generic e le classi generiche consentono ai programmatori di specificare, con una singola dichiarazione di metodo, un insieme di metodi correlati o, con una singola dichiarazione di classe, un insieme di tipi correlati.

CLASSPATH e PATH sono le due variabili.

No, non è necessario importare questo pacchetto. Per impostazione predefinita, viene caricato internamente dalla JVM.

Se una classe viene dichiarata all'interno di una classe e specifica il modificatore statico, il compilatore la tratta come qualsiasi altra classe di primo livello. La classe di primo livello annidata è una classe interna.

Externalizable è un'interfaccia che contiene due metodi readExternal e writeExternal. Questi metodi forniscono un controllo sul meccanismo di serializzazione.

No in questo caso il blocco finalmente non verrà eseguito perché quando dici System.exit (0); il controllo esce immediatamente dal programma e quindi alla fine non viene mai eseguito.

Il thread daemon è un thread a bassa priorità, che viene eseguito in modo intermittente in background eseguendo l'operazione di raccolta dei rifiuti per il sistema di runtime java.

Il metodo setDaemon viene utilizzato per creare un thread daemon.

Tutte le attività devono implementare il metodo run ()

GregorianCalendar fornisce supporto per i calendari occidentali tradizionali

La classe SimpleTimeZone fornisce il supporto per un calendario gregoriano.

La dimensione è il numero di elementi effettivamente memorizzati nel vettore, mentre la capacità è il numero massimo di elementi che può memorizzare in una data istanza di tempo.

Sì, un vettore può contenere oggetti eterogenei. Perché un vettore memorizza tutto in termini di Object.

Un'enumerazione è un'interfaccia contenente metodi per accedere alla struttura dati sottostante da cui si ottiene l'enumerazione. Consente l'accesso sequenziale a tutti gli elementi archiviati nella raccolta.

Path e Classpath sono variabili di ambiente a livello di sistema operativo. Il percorso definisce dove il sistema può trovare i file eseguibili (.exe) e il percorso di classe viene utilizzato per specificare la posizione dei file .class.

No, non è possibile accedervi al di fuori del suo pacchetto.

Un metodo statico non deve fare riferimento a variabili di istanza senza creare un'istanza e non può utilizzare l'operatore "this" per fare riferimento all'istanza.

Sì, un'interfaccia può ereditare un'altra interfaccia, del resto un'interfaccia può estendere più di un'interfaccia.

Polimorfismo

Il blocco di un oggetto è un meccanismo utilizzato da più thread per ottenere l'accesso sincronizzato all'oggetto. Un thread può eseguire un metodo sincronizzato di un oggetto solo dopo aver acquisito il blocco dell'oggetto.

È il passaggio da un tipo generale a un tipo più specifico, cioè l'abbattimento della gerarchia.

L'ordine di precedenza determina l'ordine in cui gli operatori vengono valutati nelle espressioni. L'associazione determina se un'espressione viene valutata da sinistra a destra o da destra a sinistra.

È possibile accedere a un metodo protetto solo da classi o interfacce dello stesso pacchetto o da sottoclassi della classe in cui è dichiarato.

Quando una classe viene definita all'interno di un ambito di un'altra classe, diventa una classe interna. Se il modificatore di accesso della classe interna è statico, diventa una classe nidificata.

I metodi sostituiti devono avere lo stesso nome, elenco di argomenti e tipo restituito. Il metodo di sostituzione non può limitare l'accesso del metodo che sostituisce.

Un costruttore di oggetti figlio deve sempre prima costruire il suo genitore. In Java viene eseguita tramite una chiamata implicita al costruttore no-args come prima istruzione.

Sì, è possibile eseguire il cast di un valore double su un byte.

Quando viene generata un'eccezione nel corpo di un'istruzione try, le clausole catch dell'istruzione try vengono esaminate nell'ordine in cui compaiono. Viene eseguita la prima clausola catch in grado di gestire l'eccezione. Le restanti clausole catch vengono ignorate.

Se l'array è un array di tipi primitivi, tutti gli elementi dell'array verranno inizializzati al valore predefinito corrispondente a quel tipo primitivo.