Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Storia del Linguaggio Java, Appunti di Programmazione Java

Storia del Linguaggio Java, java

Tipologia: Appunti

2022/2023

In vendita dal 18/09/2023

carla-boscolo
carla-boscolo 🇮🇹

4.5

(13)

520 documenti

1 / 6

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Storia del Linguaggio Java
Linguaggio di pgm OO sviluppato in SUN Microsystems (Oracle) all’inizio degli anni 90 del
secolo scorso, sintatticamente molto simile al C/C++ per favorire il passaggio a Java dei
programmatori esistenti sul mercato. Concepito x sviluppo di applicazioni complesse x
dispositivi embedded, ha avuto una grossa diffusione a partire dal 1995 grazie
all’espansione su scala mondiale della rete Internet come strumento di pgm x l’ambiente
web.
Punti di forza del linguaggio Java
• Orientamento agli Oggetti
• Portabilità
• Disponibilità di strumenti e librerie per la programmazione
• Sicurezza dell’esecuzione del codice
• Multi-threading nativo
Orientamento ad ogetti
è OO→sviluppa S/W modellando la realtà mediante entità (oggetti) dotate di
specifiche d’uso e di funzionamento (classi).
Non è un linguaggio Object-Oriented «puro» in quanto, per esempio, i valori dei
tipi primitivi (ex. numeri interi...) non sono oggetti.
Può essere usato in maniera imperativa.
Portabilità
JRE (Java Runtime Environment) contiene la JVM (J Virtual Machine) che
comprende il traduttore
• occorre il JDK (J Development Kit) che comprende il compilatore (di solito si utilizza un IDE
come Netbeans, Eclipse, BlueJ...)
Disponibiltà
La quantità e la qualità delle librerie rendono il linguaggio facilmente integrabile
con le altre tecnologie S/W (accesso a database relazionali, gestione di
documenti XML, supporto nativo per la pgm di rete e web sia lato client che lato
server, strumenti per grafica e multimedialità..).
Sicurezza
L’ambiente di esecuzione della piattaforma Java (JRE + JVM) consente
l’esecuzione automatica di codice proveniente da sorgenti remote con sicurezza.
Multi-threading nativo
• Il ling. Java è stato il primo a definire un modello di multi-threading nativo e indipendente
dal Sistema Operativo di compilazione e di esecuzione; questa caratteristica originale, per il
fatto che consente al programmatore di sfruttare i moderni processori multi-core, si sta
dimostrando ogni giorno più importante.
Compilazione ed esecuzione
• Il nome della Classe deve coincidere con quello del file in cui è stata definita. Tutti i
programmatori e gli IDE adottano la convenzione di avere una sola Classe per ogni file il cui
nome abbia estensione .java
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Storia del Linguaggio Java e più Appunti in PDF di Programmazione Java solo su Docsity!

Storia del Linguaggio Java

Linguaggio di pgm OO sviluppato in SUN Microsystems (Oracle) all’inizio degli anni 90 del secolo scorso, sintatticamente molto simile al C/C++ per favorire il passaggio a Java dei programmatori esistenti sul mercato. Concepito x sviluppo di applicazioni complesse x dispositivi embedded, ha avuto una grossa diffusione a partire dal 1995 grazie all’espansione su scala mondiale della rete Internet come strumento di pgm x l’ambiente web. Punti di forza del linguaggio Java

  • Orientamento agli Oggetti
  • Portabilità
  • Disponibilità di strumenti e librerie per la programmazione
  • Sicurezza dell’esecuzione del codice
  • Multi-threading nativo Orientamento ad ogetti ● (^) è OO→sviluppa S/W modellando la realtà mediante entità (oggetti) dotate di specifiche d’uso e di funzionamento (classi). ● Non è un linguaggio Object-Oriented «puro» in quanto, per esempio, i valori dei tipi primitivi (ex. numeri interi...) non sono oggetti. ● Può essere usato in maniera imperativa. Portabilità ● JRE (Java Runtime Environment) contiene la JVM (J Virtual Machine) che comprende il traduttore
  • occorre il JDK (J Development Kit) che comprende il compilatore (di solito si utilizza un IDE come Netbeans, Eclipse, BlueJ...) Disponibiltà ● La quantità e la qualità delle librerie rendono il linguaggio facilmente integrabile con le altre tecnologie S/W (accesso a database relazionali, gestione di documenti XML, supporto nativo per la pgm di rete e web sia lato client che lato server, strumenti per grafica e multimedialità..). Sicurezza ● L’ambiente di esecuzione della piattaforma Java (JRE + JVM) consente l’esecuzione automatica di codice proveniente da sorgenti remote con sicurezza. Multi-threading nativo
  • Il ling. Java è stato il primo a definire un modello di multi-threading nativo e indipendente dal Sistema Operativo di compilazione e di esecuzione; questa caratteristica originale, per il fatto che consente al programmatore di sfruttare i moderni processori multi-core, si sta dimostrando ogni giorno più importante. Compilazione ed esecuzione
  • Il nome della Classe deve coincidere con quello del file in cui è stata definita. Tutti i programmatori e gli IDE adottano la convenzione di avere una sola Classe per ogni file il cui nome abbia estensione .java
  • Il metodo da cui ha inizio l’esecuzione di un pgm è il metodo main che ha sempre la seguente firma : public static void main (String [] args); si noti che il main è sempre pubblico, statico e non restituisce nulla. Compilazione ed esecuzione di pgm Java
  • public→è visibile da ogni punto del codice
  • static→è invocabile anche se non esistono oggetti istanza della Classe
  • void→non restituisce nulla JRE e JDK Per eseguire pgm Java su un computer è sufficiente installare il JRE (Java Run-time Environment) che comprende la JVM (Java Virtual Machine) per la specifica piattaforma hardware/software. Per compilare pgm Java serve anche il IDK (Java Development Kit) che comprende il compilatore (solitamente anche l’editor, ex. IDE NetBeans) user→JDK (editor)→.java→(compiler)→.class (byte-code) (NetBeans) JVM→.class (byte-code)→(interprete)→esegue JVM (Java Virtual Machine) La JVM (ambiente di esecuzione dei pgm Java) è costituita logicamente dai seguenti componenti logici :
  • un insieme di istruzioni (byte-code)
  • un gruppo di registri
  • un’area di memoria (stack) x l’esecuzione dei metodi
  • un’area di memoria (heap) x l’allocazione degli oggetti su cui opera lo strumento automatico (garbage collector) di distruzione degli oggetti inutilizzati
  • un’area per la memorizzazione dei metodi JVM (Java Virtual Machine)
  • Byte-code : insieme istruzioni della JVM, piccolo e compatto
  • Registri : stato della macchina durante esecuzione del byte-code
  • Stack : usato per passare i parametri ai metodi e per memorizzare temporaneamente i risultati restituiti dalla loro invocazione
  • Heap : usato per allocare gli oggetti istanziati a partire dalle Classi utilizzando la parola chiave new. All’inizio dell’esecuzione di un pgm è allocato in base ad una dimensione predeterminata, ma nel corso del pgm la sua dimensione si adatta dinamicamente al numero ed alla dimensione degli oggetti creati
  • Area dei metodi : contiene il byte-code dei metodi delle Classi del pgm Java in esecuzione (gli eventuali attributi statici sono salvati una sola volta) Un pgm Java è l’insieme di una o più Classi ognuna delle quali è definita in un file con estensione .java avente lo stesso nome della Classe. Almeno la Classe principale deve avere un metodo main da cui avrà inizio l’esecuzione del programma. Le Classi che costituiscono un pgm Java sono normalmente suddivise in gruppi denominati package (è un modo comodo x raggruppare Classi interdipendenti in maniera ordinata). Nei file delle Classi che appartengono allo stesso package è riportata, prima della loro definizione, la seguente riga di codice :
  • Il costruttore di default , privo di argomenti, che inizializza gli attributi ad un valore predefinito. ex: public Libro() { this.titolo = ‘’‘’; this.autore = ‘’‘’; this.numeroPagine = 0; } Il linguaggio Java è case sensitive (Maiuscole/minuscole). Per una buona leggibilità del codice occorre che :
  • i nomi delle Classi inizino con lettera Maiuscola
  • i nomi di metodi, attributi e variabili inizino con lettera minuscola
  • i nomi composti usino la convenzione LowerCamelCase cioè minuscoli con iniziale Maiuscola tranne il primo nome ex. valoreMedioRelativo (a meno che si tratti di una Classe)