Cos’è Java?

Java è un linguaggio di programmazione generale, basato su classi e orientato agli oggetti, progettato per avere meno dipendenze di implementazione. È una piattaforma informatica per lo sviluppo di applicazioni. Java è quindi veloce, sicuro e affidabile. È ampiamente utilizzato per lo sviluppo di applicazioni Java in computer portatili, centri dati, console di gioco, supercomputer scientifici, telefoni cellulari, ecc.

Cos’è la piattaforma Java?

Java Platform è un insieme di programmi che aiutano i programmatori a sviluppare ed eseguire applicazioni di programmazione Java in modo efficiente. Include un motore di esecuzione, un compilatore e un insieme di librerie. È un insieme di software per computer e specifiche. James Gosling ha sviluppato la piattaforma Java alla Sun Microsystems, e la Oracle Corporation l’ha poi acquisita.

In questo tutorial Java, imparerai-

  • Che cos’è Java?
  • Che cos’è la piattaforma Java?
  • Definizione e significato di Java
  • A cosa serve Java?
  • Storia del linguaggio di programmazione Java
  • Versioni Java
  • Caratteristiche di Java
  • Componenti del linguaggio di programmazione Java
  • Diversi tipi di piattaforme Java
  • Cos’è un PC?
  • Che cos’è il linguaggio assembly?
  • Che cosa sono assemblatore e compilatore?
  • Come funziona la Java Virtual Machine?
  • Come è indipendente dalla piattaforma Java?

Questo video introduce la piattaforma Java, e spiega perché Java è una piattaforma oltre che un linguaggio di programmazione.

Clicca qui se il video non è accessibile

Definizione e significato di Java

Java è un linguaggio multipiattaforma, orientato agli oggetti e centrato sulla rete. È tra i linguaggi di programmazione più usati. Java è anche usato come piattaforma di calcolo.

È considerato uno dei linguaggi di programmazione veloci, sicuri e affidabili preferiti dalla maggior parte delle organizzazioni per costruire i loro progetti.

Per cosa viene usato Java?

Ecco alcune importanti applicazioni Java:

  • È usato per sviluppare applicazioni Android
  • Aiuta a creare software aziendali
  • Ampia gamma di applicazioni java mobili
  • Applicazioni di calcolo scientifico
  • Uso per l’analisi di Big Data
  • Programmazione Java di dispositivi hardware
  • Usato per tecnologie server-side come Apache, JBoss, GlassFish, etc.

Storia del linguaggio di programmazione Java

Ecco importanti punti di riferimento della storia del linguaggio Java:

  • Il linguaggio Java fu inizialmente chiamato OAK.
  • Originariamente, fu sviluppato per gestire dispositivi portatili e set-top box. Oak fu un enorme fallimento.
  • Nel 1995, Sun cambiò il nome in “Java” e modificò il linguaggio per trarre vantaggio dal fiorente business dello sviluppo del www (World Wide Web).
  • Poi, nel 2009, Oracle Corporation acquisì Sun Microsystems e prese possesso di tre risorse software chiave di Sun: Java, MySQL e Solaris.

Versioni Java

Qui c’è una breve storia di tutte le versioni Java con la data di rilascio.

Versioni Java Data di rilascio
JDK Alpha e Beta 1995
JDK 1.0 23 gennaio 1996
JDK 1.1 19 feb 1997
J2SE 1.2 8 dic 1998
J2SE 1.3 8 maggio 2000
J2SE 1.4 6 febbraio 2002
J2SE 5.0 30 settembre 2004
Java SE 6 11 dicembre 2006
Java SE 7 28 luglio 2011
Java SE 8 18 marzo 2014
Java SE 9 21 settembre 2017
Java SE 10 20 marzo 2018
JAVA SE 11 25 settembre Sep 2018
JAVA SE 12 19° Mar 2019
JAVA SE 13 17° Sep 2019
JAVA SE 14 17° Mar 2020
JAVA SE 15 15 settembre 2020 (ultima versione Java)

Caratteristiche Java

Ecco alcune importanti caratteristiche Java:

  • È uno dei linguaggi di programmazione più facili da imparare.
  • Scrivi il codice una volta e lo esegui su quasi tutte le piattaforme di calcolo.
  • Java è indipendente dalla piattaforma. Alcuni programmi sviluppati in una macchina possono essere eseguiti in un’altra macchina.
  • È progettato per costruire applicazioni orientate agli oggetti.
  • È un linguaggio multithreaded con gestione automatica della memoria.
  • È creato per l’ambiente distribuito di Internet.
  • Facilita il calcolo distribuito in quanto centrato sulla rete.

Componenti del linguaggio di programmazione Java

Un programmatore Java scrive un programma in un linguaggio leggibile dall’uomo chiamato codice sorgente. Pertanto, la CPU o i chip non capiscono mai il codice sorgente scritto in qualsiasi linguaggio di programmazione.

Questi computer o chip capiscono solo una cosa, che si chiama linguaggio macchina o codice. Questi codici macchina funzionano a livello della CPU. Pertanto, sarebbero codici macchina diversi per altri modelli di CPU.

Tuttavia, è necessario preoccuparsi del codice macchina, poiché la programmazione riguarda il codice sorgente. La macchina capisce questo codice sorgente e lo traduce in codice comprensibile alla macchina, che è un codice eseguibile.

Tutte queste funzionalità avvengono all’interno dei seguenti 3 componenti della piattaforma Java:

Java Development kit (JDK)

JDK è un ambiente di sviluppo software utilizzato per creare applet e applicazioni Java. La forma completa di JDK è Java Development Kit. Gli sviluppatori Java possono usarlo su Windows, macOS, Solaris e Linux. JDK li aiuta a codificare ed eseguire programmi Java. È possibile installare più di una versione di JDK sullo stesso computer.

Perché usare JDK?

Ecco le ragioni principali per usare JDK:

  • JDK contiene gli strumenti necessari per scrivere programmi Java e JRE per eseguirli.
  • Comprende un compilatore, Java application launcher, Appletviewer, ecc.
  • Il compilatore converte il codice scritto in Java in codice byte.
  • Java application launcher apre un JRE, carica la classe necessaria ed esegue il suo metodo principale.

Java Virtual Machine (JVM):

Java Virtual Machine (JVM) è un motore che fornisce un ambiente runtime per guidare il codice o le applicazioni Java. Converte il bytecode Java in linguaggio macchina. La JVM fa parte del Java Run Environment (JRE). In altri linguaggi di programmazione, il compilatore produce codice macchina per un particolare sistema. Tuttavia, il compilatore Java produce codice per una macchina virtuale conosciuta come Java Virtual Machine.

Perché JVM?

Ecco le ragioni importanti per usare JVM:

  • JVM fornisce un modo indipendente dalla piattaforma di eseguire il codice sorgente Java.
  • Ha numerose librerie, strumenti e framework.
  • Una volta che si esegue un programma Java, si può eseguire su qualsiasi piattaforma e risparmiare un sacco di tempo.
  • JVM è dotata di compilatore JIT (Just-in-Time) che converte il codice sorgente Java in linguaggio macchina di basso livello. Quindi, funziona più velocemente di un’applicazione regolare.

Java Runtime Environment (JRE)

JRE è un pezzo di software che è progettato per eseguire altri software. Contiene le librerie di classe, la classe del caricatore e la JVM. In termini semplici, se vuoi eseguire un programma Java, hai bisogno di JRE. Se non sei un programmatore, non hai bisogno di installare JDK, ma solo JRE per eseguire programmi Java.

Perché usare JRE?

Ecco le ragioni principali per usare JRE:

  • JRE contiene librerie di classi, JVM, e altri file di supporto. Non include alcuno strumento per lo sviluppo Java come un debugger, un compilatore, ecc.
  • Utilizza importanti classi di pacchetti come math, swing, util, lang, awt, e librerie runtime.
  • Se devi eseguire applet Java, allora JRE deve essere installato nel tuo sistema.

Diversi tipi di piattaforme Java

Ci sono quattro diversi tipi di piattaforme di linguaggio di programmazione Java:

1. Piattaforma Java, Edizione Standard (Java SE): L’API di Java SE offre la funzionalità di base del linguaggio di programmazione Java. Definisce tutte le basi del tipo e dell’oggetto alle classi di alto livello. È usata per la rete, la sicurezza, l’accesso al database, lo sviluppo dell’interfaccia grafica utente (GUI) e l’analisi di XML.

2. Piattaforma Java, Enterprise Edition (Java EE): La piattaforma Java EE offre un’API e un ambiente runtime per lo sviluppo e l’esecuzione di applicazioni di rete altamente scalabili, su larga scala, multilivello, affidabili e sicure.

3. Java Programming Language Platform, Micro Edition (Java ME): La piattaforma Java ME offre un’API e una macchina virtuale di piccole dimensioni che esegue applicazioni in linguaggio di programmazione Java su piccoli dispositivi, come i telefoni cellulari.

4. Java FX: JavaFX è una piattaforma per lo sviluppo di applicazioni internet ricche utilizzando un’API leggera per l’interfaccia utente. Ha una grafica accelerata dall’hardware e motori multimediali che aiutano Java a trarre vantaggio da client a più alte prestazioni e un look-and-feel moderno e API di alto livello per la connessione a fonti di dati in rete.

Per capire il linguaggio di programmazione Java, abbiamo bisogno di capire alcuni concetti di base di come un programma per computer può eseguire un comando ed eseguire l’azione.

Cos’è un PC?

Un computer è un dispositivo elettronico capace di eseguire calcoli. Tutti sappiamo che è composto da un monitor, una tastiera, un mouse e una memoria per immagazzinare informazioni. Ma il componente più importante del computer è un PROCESSORE. Questo fa tutto il pensiero del computer, ma la domanda è come il computer fa questo pensiero? Come fa a capire il testo, le immagini, i video, ecc.

Che cos’è il PC?

Che cos’è il linguaggio assembly?

Il computer è un dispositivo elettronico, e può capire solo segnali elettronici o binari. Per esempio, il segnale elettronico a 5 volt può rappresentare il numero binario 1, mentre 0 volt può rappresentare il numero binario 0. Quindi il tuo PC è continuamente bombardato da questi segnali.

Otto bit di tali segnali sono raggruppati per interpretare testi, numeri e simboli.

Per esempio, il simbolo # è identificato dal computer come 10101010. Allo stesso modo, lo schema per aggiungere una funzione è rappresentato da 10000011.

Questo è noto come calcolo a 8 bit. Il processore attuale è in grado di decodificare il tempo a 64 bit. Ma qual è la relazione di questo concetto con il linguaggio di programmazione JAVA? Cerchiamo di capire questi come esempio.

Supponiamo che tu voglia dire al computer di aggiungere due numeri (1+2) rappresentati da alcuni numeri binari (10000011), come lo dirai al tuo computer? Sì, useremo il linguaggio assembly per far eseguire il nostro codice.

“Il linguaggio assembly è la forma più elementare dei linguaggi di sviluppo del software”.

Daremo il comando al computer in questo formato, come mostrato qui sotto. Il tuo codice per aggiungere due numeri in questo linguaggio sarebbe in questo ordine.

  • Memorizza il numero 1 nella posizione di memoria A
  • Memorizza il numero 2 nella posizione di memoria B
  • Aggiungi il contenuto della posizione A & B
  • Risulta

Ma come faremo? Negli anni ’50, quando i computer erano enormi e consumavano molta energia, si convertiva il codice assembly in codice macchina corrispondente a 1 e 0 usando fogli di mappatura. In seguito, questo codice sarà punzonato nelle schede macchina e dato in pasto al computer. Il computer leggerà questi codici ed eseguirà il programma. Questo sarebbe stato un processo lungo fino a quando l’ASSEMBLER non è venuto in aiuto.

Cosa sono l’assemblatore e il compilatore?

Con il progresso della tecnologia, furono inventati i dispositivi di i/o. Puoi digitare direttamente il tuo programma nel PC usando l’ASSEMBLER. Esso lo converte nel codice macchina corrispondente (110001..) e lo invia al vostro processore. Tornando al nostro esempio di addizione (1+2), l’assemblatore convertirà questo codice in codice macchina e lo darà in uscita.

A parte questo, dovrete anche fare chiamate per creare funzioni fornite dal sistema operativo per visualizzare l’output del codice.

Ma il solo assemblatore non è coinvolto in questo processo; richiede anche il compilatore per compilare il lungo codice in un piccolo pezzo di codice. Con il progresso nei linguaggi di sviluppo del software, questo intero codice assembly potrebbe ridursi in una sola riga print f 1+2 A con il software chiamato COMPILER. Viene usato per convertire il vostro codice in linguaggio c in codice assembly. L’assemblatore lo converte in codice macchina corrispondente. Questo codice macchina sarà trasmesso al processore. Il processore più comunemente usato nei PC o nei computer è il processore Intel.

Anche se i compilatori attuali vengono forniti insieme all’assemblatore possono convertire direttamente il codice del linguaggio superiore in codice macchina.

Ora, supponiamo che il sistema operativo Windows giri su questo processore Intel, la combinazione del sistema operativo più il processore è chiamata PIATTAFORMA. La piattaforma più comune nel mondo è Windows, e Intel è chiamata piattaforma Wintel. Le altre piattaforme popolari sono AMD e Linux, Power PC e Mac OS X.

Ora, con un cambio di processore, cambiano anche le istruzioni di assemblaggio. Per esempio:

  • L’istruzione Add in Intel può essere chiamata ADDITION per AMD
  • O Math ADD per Power PC

E, con un cambiamento nel sistema operativo, anche il livello e la natura delle chiamate OS cambieranno.

Come sviluppatore, voglio che il mio programma software funzioni su tutte le piattaforme per massimizzare le mie entrate. Quindi dovrei comprare compilatori separati che convertano il mio comando print f nel codice macchina nativo.

Ma i compilatori sono costosi, e c’è la possibilità di problemi di compatibilità. Quindi comprare e installare un compilatore separato per diversi sistemi operativi e processori non è fattibile. Quindi, quale può essere una soluzione alternativa? Inserire il linguaggio Java.

Come funziona la Java Virtual Machine?

Utilizzando Java Virtual Machine, questo problema può essere risolto. Ma come funziona su diversi processori e O.S. Capiamo questo processo passo dopo passo.

Passo 1) Il codice per visualizzare l’addizione di due numeri è System.out.println(1+2), e salvato come file .java.

Passo 2) Usando il compilatore java il codice viene convertito in un codice intermedio chiamato bytecode. L’output è un file .class.

Fase 3) Questo codice non è compreso da nessuna piattaforma, ma solo da una piattaforma virtuale chiamata Java Virtual Machine.

Passo 4) Questa macchina virtuale risiede nella RAM del vostro sistema operativo. Quando la macchina virtuale viene alimentata con questo bytecode, identifica la piattaforma su cui sta lavorando e converte il bytecode nel codice macchina nativo.

Mentre lavorate sul vostro PC o navigate sul web, ogni volta che vedete una di queste icone, state certi che la macchina virtuale Java è caricata nella vostra RAM. Ma ciò che rende Java redditizio è che il codice, una volta compilato, può essere eseguito non solo su tutte le piattaforme PC ma anche su cellulari o altri gadget elettronici che supportano Java.

Quindi,

“Java è un linguaggio di programmazione e una piattaforma”

In che modo Java è indipendente dalla piattaforma?

Come il compilatore C, il compilatore Java non produce codice eseguibile nativo per una particolare macchina. Invece, Java produce un formato unico chiamato bytecode. Viene eseguito secondo le regole stabilite nella specifica della macchina virtuale. Pertanto, Java è un linguaggio indipendente dalla piattaforma.

Il bytecode è comprensibile a qualsiasi JVM installata su qualsiasi sistema operativo. In breve, il codice sorgente java può essere eseguito su tutti i sistemi operativi.

Sommario:

  • Java è un linguaggio di programmazione multipiattaforma, orientato agli oggetti e centrato sulla rete Java è un linguaggio di programmazione generale, basato su classi e orientato agli oggetti.
  • Java Platform è un insieme di programmi che aiutano i programmatori a sviluppare ed eseguire applicazioni Java in modo efficiente.
  • Significato di Java: Java è un linguaggio di programmazione multipiattaforma e centrato sulla rete.
  • E’ utilizzato principalmente per lo sviluppo di applicazioni Android e software aziendali.
  • 2009, Oracle Corporation ha acquisito Sun Microsystems e ha preso possesso di tre risorse software chiave di Sun: Java, Solaris e MySQL.
  • L’ultima versione di Java è stata rilasciata il 15 settembre 2020
  • La migliore caratteristica di Java è che è uno dei linguaggi di programmazione più facili da imparare.
  • Quattro tipi di piattaforme del linguaggio di programmazione Java sono: 1) Java Platform, Standard Edition (Java SE) 2) Java Platform, Enterprise Edition (Java EE) 3) Java Platform, Micro Edition (Java ME) 4) JavaFX
  • Un computer è un dispositivo elettronico in grado di eseguire calcoli.
  • Il computer capisce solo segnali elettronici o segnali binari.
  • Assembler è una tecnologia avanzata che converte il nucleo sorgente in codice macchina corrispondente (110001..) e alimenta il processore.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.