Questo sito utilizza cookie di terze parti per inviarti pubblicità in linea con le tue preferenze. Se vuoi saperne di più clicca QUI 
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie. OK

Sviluppo di software Java ad alte prestazioni e realizzazione di una suite di benchmarks per J2ME e J2SE orientati al DSP

Il principale pregio della tecnologia Java è quello di consentire la creazione di applicazioni indipendenti dalla piattaforma. Tale caratteristica, in particolar modo in questi ultimi tempi, grazie alla crescente popolarità che stanno assumendo le embedded devices Java enabled, fa sì che l’interesse per questa tecnologia stia divenendo sempre maggiore. Tutti i suoi pregi, però, come la robustezza del software creato, la sicurezza introdotta dal runtime environment e la già menzionata portabilità delle applicazioni, inevitabilmente introducono dei limiti in termini di performance, soprattutto per quanto concerne le applicazioni di tipo CPU intensive come quelle in ambito DSP. Queste considerazioni hanno dato lo spunto per approfondire lo studio della piattaforma Java con in mente una serie di obiettivi: individuare delle tecniche di ottimizzazione delle prestazioni del software sviluppato in Java, realizzare un ambiente integrato per il benchmarking in ambito DSP di runtime environment conformi sia alle specifiche J2ME che J2SE ed, infine, sfruttare il tool creato per analizzare le prestazioni di Java Virtual Machine sviluppate per differenti piattaforme basate su architettura X86 e Pocket PC. Scendendo più nello specifico, nel primo capitolo di questa tesi di laurea si descrive in modo discorsivo ma dettagliato l’architettura sulla quale sono basate le moderne implementazioni della Java Virtual Machine, mentre nel secondo si effettua una descrizione delle principali caratteristiche delle tecnologie Java utilizzate nel corso degli esperimenti. Il terzo capitolo entra nel merito delle strategie di ottimizzazione delle performance in Java, con particolare riferimento alle ottimizzazioni sul codice (dette low level optimization) ed a quelle relative alle prestazioni della Java Virtual Machine stessa. Una delle soluzioni che può essere utilizzata per rendere un’applicazione Java più efficiente è quella di implementare le sezioni di codice più critiche in un altro linguaggio (come il C/C++), a tal proposito esistono delle interfacce che permettono al software sviluppato in Java di interagire con tale codice. Nel quarto capitolo è dettagliatamente illustrata l’interfaccia nativa standard di Java (JNI), nel quinto sono descritti i fondamenti teorici alla base degli algoritmi DSP utilizzati nel software che si è realizzato, mentre nel sesto vengono illustrate sia le sue funzionalità che gli strumenti di sviluppo usati (come emulatori, runtime environment ecc.). Nell’ultimo capitolo viene effettuata un’analisi delle prestazioni in ambito DSP delle principali JVM realizzate per l’architettura X86 e Pocket PC.

Mostra/Nascondi contenuto.
CAPITOLO 1 - Il linguaggio Java e la Java Virtual Machine CAPITOLO I IL LINGUAGGIO JAVA E LA JAVA VIRTUAL MACHINE LA PIATTAFORMA JAVA L’architettura Java si fonda sulle seguenti tecnologie:  Il linguaggio di programmazione Java;  La Java Application Programming Interface (API);  La Java Virtual Machine;  Il file in formato .class di Java. Il processo di produzione ed esecuzione di un programma Java, consiste nella sua codifica in codice sorgente scritto in linguaggio Java, nella compilazione dei files così ottenuti in classi (che avranno formato .class) e nell’esecuzione di tali classi su una Java Virtual Machine. All’atto della codifica di un programma si può aver accesso alle risorse del sistema (come quelle I/O ad esempio), richiamando metodi delle classi che implementano la Java Application Programming Interface, o Java API, e che, all’atto dell’esecuzione, verranno invocati e quindi eseguiti (in run-time). Il seguente schema illustra i concetti descritti: Come si vede nella parte destra della figura, all’atto dell’esecuzione di un programma Java, la Virtual Machine caricherà i files, contenenti le API Java e le eventuali librerie dinamiche (comprendenti i metodi nativi), che sono necessari alle classi del programma utente, in modo che la loro combinazione costituisca l’intero eseguibile su cui la Virtual Machine andrà ad operare. Tutti i programmi Java, quindi, sono compilati per la “piattaforma” costituita dalla Java Virtual Machine e dalle Java API, che è anche chiamata Java Runtime Environment (JRE). Tale “piattaforma”, a partire dalla versione 1.2, è detta Java 2 Platform.

Tesi di Laurea

Facoltà: Ingegneria

Autore: Leonardo Minnozzi Contatta »

Composta da 268 pagine.

 

Questa tesi ha raggiunto 3529 click dal 12/10/2004.

 

Consultata integralmente 4 volte.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.