Oggi per la nostra consueta rubrica dedicata alle risorse Open source per i developer vogliamo parlarvi di DoppioJVM, una JVM sviluppata completamente in Javascript dai ricercatori dell'Università del Massachusetts Amherst.
La Java Virtual Machine è il componente della piattaforma Java che esegue i programmi tradotti in bytecode dopo la precedente compilazione. Grazie a questa procedura Java è riuscito ad imporsi nel mercato ed oggi è uno dei linguaggi più utilizzati per realizzare applicazioni in tutti i settori. La programmazione Java si divide in 3 fasi che vanno dal coding all'esecuzione:
- un developer, che utilizza un IDE come per esempio Eclipse, NetBeans o IntelliJ IDEA, scrive una o più classi Java;
- il software di compilazione trasforma il codice digitato in bytecode, che è una leggera astrazione del codice macchina;
- il bytecode viene fornito dalla JVM che a sua volta lo esegue.
Il bytecode è in pratica il prodotto dalla compilazione del codice sorgente Java, anche se è possibile produrre bytecode partendo da altri linguaggi tra cui Scala, Clojure o Groovy.
La JVM è definita da una specifica curata da Oracle, ovvero l'azienda che attualmente si occupa dello sviluppo di Java. DoppioJVM utilizza una versione non modificata della Java 8 OpenJDK Java Class Library, cosi da ottenere la piena compatibilità con tutti i programmi Java presenti nel mercato, limitando le potenziali incompatibilità.
DoppioJVM supporta senza particolari problemi i Thread Pool, è dunque possibile emulare anche i multiple threads e questo permette a DoppioJVM di gestire i processi multithreaded. Questa alternativa dispone inoltre di una funzionalità di mapping dei file e delle directory cosi da poter navigare tra i contenuti dello storage locale, nel Cloud o all'interno dei file compressi.
DoppioJVM supporta senza difficoltà connessioni TCP socket ai WebSockets e può gestire l'Unmanaged Heap, cioè l'assenza di visibilità di spazi di memoria da parte del garbage collector.
Via DoppioJVM