Corso J2SE Avanzato
There are no translations available.
Il corso intende coprire i seguenti argomenti:
- Dichiarazione, Inizializzazione e Scoping
- Dichiarazione di classi, interfacce, enums. Uso appropriato degli statements package e import
- Dichiarazione e inizializzazione e uso di tipi primitivi, arrays, oggetti come variabili locali, static e di istanza. Identificatori dei nomi delle variabili
- Uso di overloading e overriding di un metodo. Identificazione dei valori di ritorno legali (includendo covariant returns)
- Costruttori: come istanziare una classe
- Controllo di Flusso
- Uso degli statements if e switch
- Uso delle forme di loops e iterators, includendo l'uso di for, for-each, do, while, lables, break e continue
- Uso delle asserzioni
- Gestione degli errori: le eccezioni
- Riconoscere i vari tipi di eccezioni: runtime exception, checked exception e error
- Le accezioni predefinite: ArrayIndexOutOfBoundsException, ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError o NoClassDefFoundError
- API Contents
- Classi Wrapper primitive (come Boolean, Character, Double, Integer e così via) e/o autoboxing e unboxing. Differenze tra le classi String, StringBuilder e StringBuffer
- I Files: navigazione, scrittura, o interazione con l'utente utilizzando le seguenti classi dal package java.io: BufferedReader,BufferedWriter, File, FileReader, FileWriter, PrintWriter, e Console
- Utilizzo delle APIs standard J2SE del package java.text per parserizzare date, numbers e valori di valute per una specifica versione locale. Scopo e uso della classe java.util.Locale
- Utilizzo delle classi dei package java.util e java.regex per formattare o parserizzare stringhe o stream. Per le stringhe: uso delle classi Matcher e Pattern e del metodo String.split. Sviluppo di espressioni regolari (limitato a . (dot), * (star), + (plus), ?, \d, \s, \w, [], ()). Per gli streams: uso delle classi Scanner e Formatter e dei metodi PrintWriter.format/printf. Uso dei parametri di formattazione (limitato a %b, %c, %d, %f, %s)
- Concorrenza
- I threads: uso sia di java.lang.Thread che di java.lang.Runnable
- Gli stati dei Threads
- Uso degli oggetti di locking per proteggere variabili di istanza e static dai problemi dell'accesso concorrente
- Concetti OO
- Tight encapsulation, loose coupling, e high cohesion nelle classi
- Uso del polimorfismo. Determinare quando le operazioni di casting sono necessarie e riconoscere gli errori a compiletime vs runtime legati ai casting dei riferimenti agli oggetti
- Effetto dei modificatori sull'ereditarietà rispetto a costruttori, variabili static e di istanza e metodi static e di istanza
- Utilizzo di override e overload dei metodi e dei costruttori delle superclassi o overloaded
- Implementazione delle relazioni "is-a" e/o "has-a"
- Collections/ Generics
- Le classi e/o interfacce collection e l'interfaccia Comparable
- Overrides del corrispondente HashCode e i metodi equals. Differenza tra == e il metodo equals
- Versioni generiche delle Collections API, in particolare delle interfacce Set, List e Map e le classi di implementazione. Uso delle interfacce NavigableSet e NavigableMap
- Parametri di tipo nelle dichiarazioni di classi/interfacce, variabili di istanza, argomenti dei metodi e tipi di ritorno. Uso di metodi generici o di metodi che utilizzano tipi wildcard
- Utilizzo del package java.util per manipolare una lista attraverso: ordinamento, ricerca binaria, o conversione di una lista in un array. Utilizzo del package java.util per manipolare un array attraverso: ordinamento, ricerca binaria e conversione dell'array in una lista. Utilizzo delle interfacce java.util.Comparator e java.util.Comprable per l'ordinamento di liste e arrays
- Fondamenti
- Punto in cui l'oggetto diventa eleggibile dal garbage collection. Cosa è e cosa non è garantito dal garbage collection e comportamento del metodo Object.finalize()
- Come costruire il file JAR
Il programma del corso è da ritenersi provvisorio, pertanto potrebbe subire delle variazioni.![]()
Gli argomenti trattati nel corso garantiscono una solida base per chi volesse ottenere la certificazione Oracle "JSE6 Professional"

