public abstract class jvm
extends java.lang.Object
This class provides the interface and mechanism for plugging VMs into the system. Typically you only need to add a new implementation if your supported attributes or command line building are different from those that exist.
this class has fields for all options that a JDK VM can take, that is the reference point for all others. Note some VMs (like jview) don't take all options and will ignore them (like -mx). Defining the system property "verbose" to 1 will give you warnings for ignored properties in a properly implemented subclass.
here is the canonical output from java -help for options we take:
-noasyncgc don't allow asynchronous garbage collection -verbosegc print a message when garbage collection occurs -noclassgc disable class garbage collection -ssset the maximum native stack size for any thread -oss set the maximum Java stack size for any thread -ms set the initial Java heap size -mx set the maximum Java heap size -classpath list directories in which to look for classes -prof[: ] output profiling data to .\java.prof or .\ -verify verify all classes when read in -noverify do not verify any class -nojit turn off the jit -Dprop=name define property; can be specified more than once
Modifier and Type | Field and Description |
---|---|
java.lang.String |
classpath |
java.util.Vector<java.lang.String> |
D |
private static java.lang.String |
DEFAULT_CODEBASE |
private static java.lang.String |
DEFAULT_POLICY |
java.lang.String |
flags |
(package private) java.lang.String |
hostName |
int |
imajor |
int |
iminor |
java.lang.String |
javaCmd |
java.lang.String |
majorVersion |
java.lang.String |
minorVersion |
long |
ms |
long |
mx |
boolean |
noasyncgc |
boolean |
noclassgc |
boolean |
nojit |
boolean |
noverify |
long |
oss |
java.lang.String |
prof |
long |
ss |
boolean |
verbosegc |
(package private) int |
verboselevel |
boolean |
verify |
Constructor and Description |
---|
jvm() |
jvm(boolean noasyncgc,
boolean verbosegc,
boolean noclassgc,
long ss,
long oss,
long ms,
long mx,
java.lang.String classpath,
java.lang.String prof,
boolean verify,
boolean noverify,
boolean nojit,
java.util.Vector<java.lang.String> D) |
jvm(long ms,
long mx,
java.lang.String classpath,
java.util.Vector<java.lang.String> D) |
jvm(java.lang.String classpath,
java.util.Vector<java.lang.String> D) |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
baseName(java.lang.String resourceName)
Get the base file name from a resource name string
|
static java.lang.String |
findCodeBase(boolean[] isJar) |
java.util.Vector<java.lang.String> |
getCommandLine() |
static jvm |
getCurrentJvm()
Get the current JVM using the normal test harness rules for finding
a JVM.
|
abstract java.lang.String |
getDintro()
return the property definition introducer, with a space if a
separator is needed.
|
static jvm |
getJvm(java.lang.String jvmName)
pass in class name for JVM.
|
int |
getMajorVersion()
Return the major version number
|
int |
getMinorVersion()
Return the major version number
|
abstract java.lang.String |
getName() |
(package private) static java.util.Vector<java.lang.String> |
getSecurityProps(java.util.Vector<java.lang.String> D) |
protected static java.lang.String |
guessWSHome()
Find $WS based on the assumption that JAVA_HOME is $WS/
|
void |
setClasspath(java.lang.String classpath) |
void |
setD(java.util.Vector<java.lang.String> D) |
void |
setFlags(java.lang.String flags) |
void |
setJavaCmd(java.lang.String jcmd) |
void |
setMs(long ms) |
void |
setMx(long mx) |
void |
setNoasyncgc(boolean noasyncgc) |
void |
setNoclassgc(boolean noclassgc) |
void |
setNojit(boolean nojit) |
void |
setNoverify(boolean noverify) |
void |
setOss(long oss) |
void |
setProf(java.lang.String prof) |
protected void |
setSecurityProps()
set up security properties for server command line.
|
void |
setSs(long ss) |
void |
setVerbosegc(boolean verbosegc) |
void |
setVerify(boolean verify) |
void |
setVersion()
Get the current JVM using the normal test harness rules for finding
a JVM.
|
void |
warn(java.lang.String msg) |
public java.lang.String flags
public boolean noasyncgc
public boolean verbosegc
public boolean noclassgc
public long ss
public long oss
public long ms
public long mx
public java.lang.String classpath
public java.lang.String prof
public boolean verify
public boolean noverify
public boolean nojit
public java.util.Vector<java.lang.String> D
public java.lang.String javaCmd
public java.lang.String majorVersion
public java.lang.String minorVersion
public int imajor
public int iminor
java.lang.String hostName
private static java.lang.String DEFAULT_POLICY
private static java.lang.String DEFAULT_CODEBASE
int verboselevel
public jvm()
public jvm(boolean noasyncgc, boolean verbosegc, boolean noclassgc, long ss, long oss, long ms, long mx, java.lang.String classpath, java.lang.String prof, boolean verify, boolean noverify, boolean nojit, java.util.Vector<java.lang.String> D)
public jvm(java.lang.String classpath, java.util.Vector<java.lang.String> D)
public jvm(long ms, long mx, java.lang.String classpath, java.util.Vector<java.lang.String> D)
public abstract java.lang.String getDintro()
public abstract java.lang.String getName()
public void setNoasyncgc(boolean noasyncgc)
public void setNoclassgc(boolean noclassgc)
public void setVerbosegc(boolean verbosegc)
public void setSs(long ss)
public void setOss(long oss)
public void setMs(long ms)
public void setMx(long mx)
public void setClasspath(java.lang.String classpath)
public void setProf(java.lang.String prof)
public void setVerify(boolean verify)
public void setNoverify(boolean noverify)
public void setNojit(boolean nojit)
public void setD(java.util.Vector<java.lang.String> D)
public void setFlags(java.lang.String flags)
public void setJavaCmd(java.lang.String jcmd)
public java.util.Vector<java.lang.String> getCommandLine()
public void warn(java.lang.String msg)
public static jvm getJvm(java.lang.String jvmName) throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
public static jvm getCurrentJvm() throws java.lang.Exception
java.lang.Exception
public int getMajorVersion()
public int getMinorVersion()
public void setVersion() throws java.lang.Exception
java.lang.Exception
protected static java.lang.String guessWSHome()
public static java.lang.String findCodeBase(boolean[] isJar)
protected void setSecurityProps() throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
static java.util.Vector<java.lang.String> getSecurityProps(java.util.Vector<java.lang.String> D) throws java.lang.ClassNotFoundException, java.io.IOException
java.lang.ClassNotFoundException
java.io.IOException
private static java.lang.String baseName(java.lang.String resourceName)
resourceName
- (e.g. /org/apache/derbyTesting/functionTests/util/derby_tests.policy)Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.