Difference between revisions of "Using the Java Virtual Machine"
Kyoungmeyer (talk | contribs) (Created page with "{{todo|SEOKWTODO; Finish Writing; (05.06.14-17:30->KY+)|Klint Youngmeyer|project=oe 4, oe 5,md,ky,SEOKWTODO,bs}} The Java Virtual Machine is an optional package and is not in...") |
Kyoungmeyer (talk | contribs) |
||
Line 5: | Line 5: | ||
== JamVM == | == JamVM == | ||
− | A Java virtual machine (JVM) | + | A Java virtual machine (JVM) is the software that converts Java bytecode into a program that can run in the target system. Java mostly uses the just in time (JIT) compilation method which partially compiles the code so that the JVM on any target can complete compiling the code for the target's specific instruction set. The JIT method saves time by only needing to be compiled once then using the same bytecode on multiple separate platforms. The Java Virtual Machine that is included in the EMAC package is JamVM. JamVM is a small, open source virtual machine that conforms to the Java virtual machine specification version 2. |
== Compiling Programs == | == Compiling Programs == | ||
+ | |||
+ | It is not currently possible to compile a Java program directly on an EMAC board. A development computer is needed to compile the program and send the bytecode to the board. The process of compiling a basic Java program is fairly simple, the command for compiling the file <code>HelloWorld.java</code> is: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | developer@ldc:~$ javac HelloWorld.java | ||
+ | </syntaxhighlight> | ||
+ | The <code>javac</code> command calls the Java compiler on the <code>HelloWorld.java</code> source file and produces a file called <code>HelloWorld.class</code>. The <code>HelloWorld.class</code> file will be used to run the program. | ||
+ | {{mbox | type=notice | text='''NOTE''': The name of the class in the Java source file must match the name of the file without the <code>.java</code> extension.}} | ||
+ | <br /> | ||
+ | The resultant class file will need to be sent to the target board to be run. The easiest way to accomplish this is through <code>scp</code>: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | developer@ldc:~$ scp HelloWorld.class | ||
+ | </syntaxhighlight> | ||
==Running Programs == | ==Running Programs == | ||
+ | |||
+ | Running a compiled Java program is accomplished by passing the class name to java. To run the ''HelloWorld'' program, use the following command with the <code>HelloWorld.class</code> file in the current directory. | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | developer@ldc:~$ java HelloWorld | ||
+ | </syntaxhighlight> | ||
+ | {{mbox | type=notice | text='''NOTE''': The value passed to the <code>java</code> command is the name of a class, not a file name..}} | ||
+ | <br /> | ||
=== Included Examples === | === Included Examples === | ||
+ | |||
+ | EMAC includes a few sample Java programs on the builds that include the JamVM package. The examples are located in the <code>/home/user/Java-Examples</code>. Both the source files and class files are included on the board. If changes need to be made to a source file, the class file will need to be recompiled on a development computer and sent back to the target board. |
Revision as of 12:19, 7 May 2014
The Java Virtual Machine is an optional package and is not included by default in EMAC Linux builds. If you would like to include this package with your build, the custom package number is SL040-NPN-00140. To inquire about purchasing this package, please contact EMAC at info@emacinc.com.
JamVM
A Java virtual machine (JVM) is the software that converts Java bytecode into a program that can run in the target system. Java mostly uses the just in time (JIT) compilation method which partially compiles the code so that the JVM on any target can complete compiling the code for the target's specific instruction set. The JIT method saves time by only needing to be compiled once then using the same bytecode on multiple separate platforms. The Java Virtual Machine that is included in the EMAC package is JamVM. JamVM is a small, open source virtual machine that conforms to the Java virtual machine specification version 2.
Compiling Programs
It is not currently possible to compile a Java program directly on an EMAC board. A development computer is needed to compile the program and send the bytecode to the board. The process of compiling a basic Java program is fairly simple, the command for compiling the file HelloWorld.java
is:
developer@ldc:~$ javac HelloWorld.java
The javac
command calls the Java compiler on the HelloWorld.java
source file and produces a file called HelloWorld.class
. The HelloWorld.class
file will be used to run the program.
NOTE: The name of the class in the Java source file must match the name of the file without the .java extension. |
The resultant class file will need to be sent to the target board to be run. The easiest way to accomplish this is through scp
:
developer@ldc:~$ scp HelloWorld.class
Running Programs
Running a compiled Java program is accomplished by passing the class name to java. To run the HelloWorld program, use the following command with the HelloWorld.class
file in the current directory.
developer@ldc:~$ java HelloWorld
NOTE: The value passed to the java command is the name of a class, not a file name.. |
Included Examples
EMAC includes a few sample Java programs on the builds that include the JamVM package. The examples are located in the /home/user/Java-Examples
. Both the source files and class files are included on the board. If changes need to be made to a source file, the class file will need to be recompiled on a development computer and sent back to the target board.