gij
is a Java bytecode interpreter included with libgcj
.
gij
is not available on every platform; porting it requires a
small amount of assembly programming which has not been done for all the
targets supported by gcj.
The primary argument to gij
is the name of a class or, with
-jar
, a jar file. Options before this argument are interpreted
by gij
; remaining options are passed to the interpreted program.
If a class name is specified and this class does not have a main
method with the appropriate signature (a static void
method with
a String[]
as its sole argument), then gij
will print an
error and exit.
If a jar file is specified then gij
will use information in it to
determine which class' main
method will be invoked.
gij
will invoke the main
method with all the remaining
command-line options.
Note that gij
is not limited to interpreting code. Because
libgcj
includes a class loader which can dynamically load shared
objects, it is possible to give gij
the name of a class which has
been compiled and put into a shared library on the class path.
-cp
path-classpath
pathCLASSPATH
environment variable. Note that this option is
ignored if -jar
is used.
-D
name[=
value]
java.lang.System.getProperty
method.
-ms=
number-Xms
.
-mx=
number-Xmx
.
-noverify
-X
-X
argument-X
by itself will cause gij
to list all the
supported -X
options. Currently these options are supported:
-Xms
size-Xmx
size-Xss
sizeUnrecognized -X
options are ignored, for compatibility with
other runtimes.
-jar
gij
should be interpreted
as the name of a jar file, not a class.
--help
-?
--showversion
--fullversion
--version
-verbose
-verbose:class
gij
also recognizes and ignores the following options, for
compatibility with existing application launch scripts:
-client
, -server
, -hotspot
, -jrockit
,
-agentlib
, -agentpath
, -debug
, -d32
,
-d64
, -javaagent
, -noclassgc
, -verify
,
and -verifyremote
.