Jump to content
Nokioteca Forum

J - Nokiaterms


Barbis75
 Share

Recommended Posts

JAVA

Java è un linguaggio di programmazione orientato agli oggetti, derivato dallo Smalltalk (anche se ha una sintassi simile al C++) e creato da James Gosling e altri ingegneri di Sun Microsystems. La piattaforma di programmazione Java è fondata sul linguaggio stesso, sulla Macchina virtuale Java (Java Virtual Machine o JVM) e sulle API Java. Java è un marchio registrato di Sun Microsystems.

La prima caratteristica, l'orientamento agli oggetti, si riferisce a un moderno metodo di programmazione e progettazione, la programmazione orientata agli oggetti (OOP).

L'idea alla base della OOP è di rappresentare, nella progettazione del software, le entità reali o astratte che compongono il problema sotto forma di oggetti istanziati da classi. Gli oggetti sono caratterizzati da proprietà (definite variabili o campi di istanza o di esemplare) e da metodi o funzioni applicabili sugli oggetti stessi, che possono ad esempio modificarne lo stato o estrarne informazioni.

I programmi scritti in Java possono essere unicamente orientati agli oggetti, di conseguenza tutto il codice deve essere necessariamente incluso in una classe.

Sebbene Java possa operare sia su oggetti che su tipi di dati primitivi, è considerato un linguaggio ad oggetti puro, ovvero nel quale gli oggetti sono le entità di base del linguaggio, anziché essere costruiti partendo da costrutti ad un inferiore livello di astrazione.

L'indipendenza dalla piattaforma significa che l'esecuzione di programmi scritti in Java deve avere un comportamento simile su hardware diverso. In linea di principio, si dovrebbe essere in grado di scrivere il programma una sola volta e di farlo eseguire dovunque (di qui il famoso slogan di Sun: "write once, run everywhere"). Questo è possibile con la compilazione del codice di Java in un linguaggio intermedio detto bytecode, basato su istruzioni semplificate che ricalcano il linguaggio macchina. Il bytecode verrà quindi eseguito da una macchina virtuale. Inoltre, vengono fornite librerie standardizzate per permettere l'accesso alle caratteristiche della macchina (come grafica e networking) in modo unificato. Il linguaggio Java include anche il supporto per i programmi con multithread, necessario per molte applicazioni che usano la rete.

La portabilità è un obiettivo tecnicamente difficile da raggiungere, e il successo di Java in questo ambito è materia di alcune controversie. Sebbene sia in effetti possibile scrivere in Java programmi che si comportano in modo consistente attraverso molte piattaforme hardware diverse, bisogna tenere presente che questi poi dipendono dalle macchine virtuali che sono, a loro volta, programmi a sé e che hanno inevitabilmente i loro bug, diversi l'una all'altra: per questo è nata una parodia dello slogan di Sun "Scrivi una volta, esegui dovunque" ("write once, run everywhere"), che è diventato "Scrivi una volta, fai il debug ovunque" ("write once, debug anywhere").

J2ME

Java Micro Edition (noto anche come Java ME o J2ME), è un runtime e una collezione di API per lo sviluppo di software dedicato a dispositivi a risorse limitate come PDA, telefoni cellulari e simili.

J2ME è la tecnologia più diffusa per lo sviluppo di giochi e utilities per i cellulari. Come le altre edizioni di Java, J2ME è una piattaforma portabile. Il suo funzionamento può essere emulato con un personal computer, cosa che semplifica l'attività di sviluppo e di collaudo.

Il 22 dicembre 2006 Sun Microsystems ha rilasciato il codice sorgente di J2ME. Il codice è stato rilasciato sotto licenza GPL e quindi liberamente modificabile da chiunque. Il nome del progetto è stato cambiato in phoneME. Vedi la phoneME (home page) per altre informazioni.

J2ME può essere utilizzato per sviluppare applicazioni per una ampia gamma di apparati. Diverse tipologie di apparati sono identificate da diversi profili a loro volta riferiti a diverse configurazioni. La configurazione Connected Limited Device Configuration (CLDC), per esempio, include un sottoinsieme minimo di classi Java, ed è utilizzata su dispositivi con scarsissime capacità di calcolo. Fra i profili che operano in configurazione CLDC compare il Mobile Information Device Profile (MIDP), pensato per i cellulari. Il MIDP prevede un sistema di GUI orientato a display a cristalli liquidi e una API di base per giochi in 2D. Molti cellulari moderni vengono forniti con un'implementazione residente dell'MIDP. Un altro profilo che utilizza la configurazione CLDC è l'Information Module Profile (IMP), usato per esempio in distributori automatici e altri apparati dotati di funzioni minime di display e di connettività di rete.

Java Virtual Machine (JVM)

La macchina virtuale Java, detta anche Java Virtual Machine o JVM, è la macchina virtuale che esegue i programmi scritti in bytecode. Il bytecode è generalmente prodotto dalla compilazione di sorgenti scritti in linguaggio Java, anche se è possibile produrre bytecode partendo da altri linguaggi; infatti, già esistono delle implementazioni - parziali o complete - di compilatori che funzionino in tal senso. La JVM è definita da una specifica, mantenuta da Sun Microsystems. Qualsiasi sistema che si comporti in modo coerente con tale specifica va considerato come una particolare implementazione della JVM. Esistono implementazioni software per praticamente tutti i sistemi operativi moderni, sia gratuite che commerciali. Inoltre, esistono implementazioni speciali per particolari ambienti hardware/software (per esempio telefoni cellulari e palmari), e persino implementazioni hardware.

Oltre a gestire le specifiche della macchina virtuale Java, Sun Microsystems ne fornisce anche implementazioni gratuite e parzialmente open source [1]; le implementazioni Sun sono in genere viste come implementazioni di riferimento ma sono anche ampiamente utilizzate da utenti finali, aziende e istituzioni.

Numerose altre parti forniscono regolarmente implementazioni della macchina virtuale Java, in genere con l'intento di competere con l'implementazione Sun in quanto a prestazioni; in alcuni casi si tratta di implementazioni commerciali. Sono disponibili anche altre implementazioni open source; fra le più note si può citare Waba. Le specifiche della JVM vengono dettate e aggiornate dalla Sun Microsystems in quanto iniziatore e mantenitore del progetto, ma vengono spesso disattese da molte delle implementazioni non-Sun di JVM che sono in circolazione, soprattutto per quanto riguarda il framework che ogni JVM include. Di conseguenza, le diverse JVM non sono totalmente compatibili tra loro ed occorre fare attenzione nello scrivere i programmi, se si vuole che essi funzionino su ogni JVM . La cosa migliore da fare a tale scopo sarebbe non usare le ultime caratteristiche del linguaggio introdotte dalla SUN nelle JVM più recenti e usare delle API "stabili", che cioè siano presenti nella JVM SUN da varie versioni.

Informazioni tratte e rielaborate da wikipedia

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy