node-jvm - jvm dans node.js pur
public class Main {
public static long fib ( int n ) {
if ( n <= 1 ) return n ;
return fib ( n - 1 ) + fib ( n - 2 );
}
public static void main ( String [] args ) {
if ( args . length == 0 ) {
System . out . print ( "help: java Main.class {Number}" );
return ;
}
int N = Integer . parseInt ( args [ 0 ]);
long start = System . currentTimeMillis ();
System . out . format ( "Fibonacci from 1 to %s: n " , N );
for ( int i = 1 ; i <= N ; i ++) {
System . out . println ( i + ": " + fib ( i ));
}
long stop = System . currentTimeMillis ();
System . out . println ( "time: " + ( stop - start ) + "ms" );
System . out . println ( "done." );
}
}
var JVM = require ( "node-jvm" ) ;
var jvm = new JVM ( ) ;
jvm . setLogLevel ( 7 ) ;
var entryPointClassName = jvm . loadJarFile ( "./Main.jar" ) ;
jvm . setEntryPointClassName ( entryPointClassName ) ;
jvm . on ( "exit" , function ( code ) {
process . exit ( code ) ;
} ) ;
jvm . run ( [ 15 ] ) ;
cd examples/fibonacci; make
./fibonacci.js
make clean
Fibonacci from 1 to 15:
1: 1
2: 1
3: 2
4: 3
5: 5
6: 8
7: 13
8: 21
9: 34
10: 55
11: 89
12: 144
13: 233
14: 377
15: 610
time: 106ms
done.
cd examples/
arrays - working with different types of arrays
dogs - simple object-oriented programming
fibonacci - recursion
jsclass - java and javascript mix
switcher - working with different switches
cast - cast for different types
ex - program exceptions
ex2 - jvm exceptions
idogs - working with interface
static - working with static objects
threads - multithreading
Yaroslav Gaponov (yaroslav.gaponov -at - gmail.com)
La licence MIT (MIT)
Copyright (c) 2013 Iaroslav Gaponov
L'autorisation est accordée par la présente, gratuitement, à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le « Logiciel »), d'utiliser le Logiciel sans restriction, y compris, sans limitation, les droits d'utilisation, de copie, de modification, de fusion. , publier, distribuer, accorder des sous-licences et/ou vendre des copies du Logiciel, et permettre aux personnes à qui le Logiciel est fourni de le faire, sous réserve des conditions suivantes :
L'avis de droit d'auteur ci-dessus et cet avis d'autorisation doivent être inclus dans toutes les copies ou parties substantielles du logiciel.
LE LOGICIEL EST FOURNI « EN L'ÉTAT », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS LIMITATION LES GARANTIES DE QUALITÉ MARCHANDE, D'ADAPTATION À UN USAGE PARTICULIER ET DE NON-VIOLATION. EN AUCUN CAS LES AUTEURS OU LES TITULAIRES DES DROITS D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGES OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS UNE ACTION CONTRACTUELLE, DÉLIT OU AUTRE, DÉCOULANT DE, DE OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES TRANSACTIONS DANS LE LOGICIEL.