Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Piattaforma_Java
Piattaforma_Java
Piattaforma Java - Teknopedia
Vai al contenuto
Menu principale
Navigazione
  • Pagina principale
  • Ultime modifiche
  • Una voce a caso
  • Nelle vicinanze
  • Vetrina
  • Aiuto
  • Sportello informazioni
  • Pagine speciali
Comunità
  • Portale Comunità
  • Bar
  • Il Teknopediano
  • Contatti
Teknopedia L'enciclopedia libera
Ricerca
  • Fai una donazione
  • registrati
  • entra
  • Fai una donazione
  • registrati
  • entra

Indice

  • Inizio
  • 1 Descrizione
    • 1.1 Principio di funzionamento
    • 1.2 Macchina virtuale Java
    • 1.3 API Java
  • 2 Voci correlate
  • 3 Altri progetti
  • 4 Collegamenti esterni

Piattaforma Java

  • العربية
  • Беларуская
  • Беларуская (тарашкевіца)
  • Català
  • Čeština
  • Deutsch
  • English
  • Español
  • فارسی
  • Français
  • עברית
  • Bahasa Indonesia
  • 日本語
  • Қазақша
  • 한국어
  • മലയാളം
  • မြန်မာဘာသာ
  • ߒߞߏ
  • ਪੰਜਾਬੀ
  • Português
  • Русский
  • Simple English
  • Türkçe
  • Українська
  • Tiếng Việt
  • 中文
Modifica collegamenti
  • Voce
  • Discussione
  • Leggi
  • Modifica
  • Modifica wikitesto
  • Cronologia
Strumenti
Azioni
  • Leggi
  • Modifica
  • Modifica wikitesto
  • Cronologia
Generale
  • Puntano qui
  • Modifiche correlate
  • Link permanente
  • Informazioni pagina
  • Cita questa voce
  • Ottieni URL breve
  • Scarica codice QR
  • Passa al parser legacy
Stampa/esporta
  • Crea un libro
  • Scarica come PDF
  • Versione stampabile
In altri progetti
  • Wikimedia Commons
  • Elemento Wikidata
Aspetto
Da Teknopedia, l'enciclopedia libera.
Piattaforma Java
software
Schermata di esempio
Schermata di esempio
GenerePiattaforma Software (non in lista)
SviluppatoreOracle Corporation
Ultima versione8 update 221 (16 luglio 2019)
Sistema operativoMicrosoft Windows
macOS
Linux
Solaris
LinguaggioJava
Licenzaproprietaria, Freeware
Sito webwww.java.com/it/
Modifica dati su Wikidata · Manuale

In informatica la piattaforma Java è una piattaforma software (API - application programming interface), sviluppata su specifiche e implementazioni di Sun Microsystems (acquisita nel gennaio 2010 dalla Oracle Corporation) ovvero l'ambiente di esecuzione necessario per l'esecuzione di programmi scritti in linguaggio java. Tale piattaforma ha come caratteristica il fatto di rendere possibile scrittura ed esecuzione di applicazioni indipendenti dall'hardware di esecuzione, che risulta così virtualizzato dalla piattaforma stessa, rendendo così il linguaggio java e i relativi programmi portabili su piattaforme hardware diverse (applicazioni Java girano infatti su piattaforme hardware di diversa natura (es. computer, televisore, telefono cellulare, smart card, ecc…)).

Descrizione

[modifica | modifica wikitesto]

Principio di funzionamento

[modifica | modifica wikitesto]

La piattaforma Java è composta da due blocchi costitutivi:

  • la macchina virtuale Java (Java Virtual Machine o JVM)
  • le API Java.

La macchina virtuale è la base della piattaforma Java, mentre le API sono una collezione di componenti software (librerie) già scritti e pronti all'uso per lo svolgimento dei compiti più disparati. Perché una applicazione software possa girare su una piattaforma Java, essa

  1. Deve essere scritta in un linguaggio compatibile con la macchina virtuale, ad esempio il linguaggio Java, il linguaggio Scala, e altri;
  2. deve essere quindi compilata, fornendo come prodotto il cosiddetto bytecode dell'applicazione;
  3. il bytecode verrà poi interpretato dalla macchina virtuale e quindi eseguito.

Il prodotto della fase 2 è costituito da files contenenti le istruzioni che compongono il programma. Il linguaggio in cui queste istruzioni sono espresse non è specifico di alcuna macchina o sistema operativo particolare; al contrario, viene utilizzato un linguaggio appositamente progettato per essere il più possibile 'neutro' (o più precisamente: astratto) e, quindi, indipendente dal sistema su cui verrà effettivamente eseguita l'applicazione. Questo comportamento differisce da quanto avviene in molti altri linguaggi di programmazione che, una volta compilati, producono codice macchina che può essere eseguito solo su sistemi specifici (tipicamente, lo stesso in cui è avvenuta la compilazione). Ciò permette l'indipendenza del linguaggio dalla piattaforma hardware, in quanto il bytecode prodotto è lo stesso per ogni tipologia di macchina.

Ciò rende possibile eseguire la stessa applicazione su qualsiasi macchina; l'unica cosa da cambiare è l'interprete per quella specifica macchina.

Un'implementazione della piattaforma java è il Java Runtime Environment (JRE), necessario per l'esecuzione del programma compilato, mentre per lo sviluppo dei programmi in Java a partire dal codice sorgente è necessario il Java Development Kit (JDK) che include anche il JRE. Nello sviluppo tramite IDE il JRE è linkato con le sue librerie dall'IDE stesso per l'esecuzione del programma.

Macchina virtuale Java

[modifica | modifica wikitesto]
Lo stesso argomento in dettaglio: Macchina virtuale Java.

La macchina virtuale è il componente della piattaforma Java che rende possibile la virtualizzazione dell'hardware sul quale l'applicazione Java gira. Essa consiste di:

  • un class loader
  • un class verifier
  • l'interprete Java.

Il class loader carica le classi che formano il bytecode, sia dell'applicazione Java, sia delle API Java necessarie per l'esecuzione da parte dell'interprete Java.

Subito dopo il class verifier controlla che il bytecode sia valido, che non superi i limiti superiori o inferiori dello stack, assicura non esegua aritmetica dei puntatori (che potrebbe potenzialmente portare ad una violazione di memoria). Se il bytecode passa tutti questi controlli, può essere eseguito dall'interprete.

L'interprete può essere di varie forme: può essere un modulo software che interpreta il bytecode in una sola volta oppure può fare uso di un compilatore just-in-time (JIT, o Just-In-Time compiler) che traduce il bytecode in codice nativo della macchina ospitante. È anche possibile utilizzare un sistema "misto", in cui il JIT viene applicato solo alle porzioni di codice del programma utilizzate più frequentemente, mentre il resto viene interpretato. In genere, quest'ultimo approccio prevede che il JIT venga lanciato in background, mentre il programma è in esecuzione.

Una delle caratteristiche della macchina virtuale Java è che l'interprete può essere anche implementato a livello hardware, così da eseguire il bytecode come codice nativo. In altre parole, è possibile realizzare un processore il cui repertorio delle istruzioni coincida con l'insieme delle istruzioni definite dalla specifica Sun. A livello di prestazioni questa sarebbe la scelta migliore, ma la portabilità resterebbe confinata a quelle macchine che implementassero Java a livello hardware, anche se si continuerebbero ad avere tutti i vantaggi del linguaggio.

La piattaforma raggiunge performance superiori adottando uno schema nel quale l'interprete può essere eseguito alla massima velocità senza la necessità di effettuare controlli al momento dell'esecuzione; questo grazie al class verifier che esegue tutti i controlli. La piattaforma è anche dotata di un meccanismo di garbage collection che rilascia automaticamente la memoria utilizzata da oggetti che non sono più utili al programma.

API Java

[modifica | modifica wikitesto]

Le API Java raccolgono una gran quantità di componenti disponibili per scrivere applicazioni di qualsiasi genere. Per questo motivo la piattaforma Java è disponibile in tre configurazioni a seconda dell'uso che se ne vuole fare:

  • Standard Edition. Fornisce API per le esigenze più comuni, che permette di scrivere applicazioni stand-alone, applicazioni client e server in un contesto di reti di computer, applicazioni per accesso a database, applicazioni per il calcolo scientifico e di altro tipo.
  • Enterprise Edition. Permette di scrivere applicazioni distribuite.
  • Micro Edition. Permette di scrivere applicazioni per i terminali mobili e, più in generale, per i dispositivi dotati di poche risorse computazionali (telefoni cellulari, palmari, smart cards ed altri).

Voci correlate

[modifica | modifica wikitesto]
  • Java (linguaggio di programmazione)
  • Macchina virtuale Java
  • JavaFX
  • OpenJDK

Altri progetti

[modifica | modifica wikitesto]

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su piattaforma Java

Collegamenti esterni

[modifica | modifica wikitesto]
  • Sito ufficiale, su java.com. Modifica su Wikidata
  • Sito da cui scaricare la macchina virtuale Java, su java.com.
  Portale Informatica: accedi alle voci di Teknopedia che trattano di informatica
Estratto da "https://it.wikipedia.org/w/index.php?title=Piattaforma_Java&oldid=140118825"
Categorie:
  • Software per Microsoft Windows
  • Software per macOS
  • Software per Linux
  • Software in Java
  • Software del 1996
  • Piattaforma Java
Categorie nascoste:
  • Software con genere non riconosciuto
  • P277 letta da Wikidata
  • P577 letta da Wikidata
  • P18 letta da Wikidata
  • P348 differente su Wikidata
  • P856 differente su Wikidata
  • P856 letta da Wikidata
  • Questa pagina è stata modificata per l'ultima volta il 9 lug 2024 alle 21:58.
  • La pagina è stata renderizzata con Parsoid.
  • Il testo è disponibile secondo la licenza Creative Commons Attribuzione-Condividi allo stesso modo; possono applicarsi condizioni ulteriori. Vedi le condizioni d'uso per i dettagli.
  • Informativa sulla privacy
  • Informazioni su Teknopedia
  • Avvertenze
  • Contatti legali e di sicurezza
  • Codice di condotta
  • Sviluppatori
  • Statistiche
  • Dichiarazione sui cookie
  • Versione mobile
  • Wikimedia Foundation
  • Powered by MediaWiki
Piattaforma Java
Aggiungi argomento

  • Indonesia
  • English
  • Français
  • 日本語
  • Deutsch
  • Italiano
  • Español
  • Русский
  • فارسی
  • Polski
  • 中文
  • Nederlands
  • Português
  • العربية
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022