java.lang
Class System

java.lang.Object
  |
  +--java.lang.System

public final class System
extends Object

The System class contains several useful class fields and methods. It cannot be instantiated.

Some of the code as well as javadoc in this class was stolen from:

@(#)System.java	1.125 01/12/03

 Copyright 2002 Sun Microsystems, Inc. All rights reserved.
 SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
Therefore, credit is given to the original author, Arthur van Hoff.

Among the facilities provided by the System class are standard input, standard output, and error output streams; access to externally defined "properties"; a means of loading files and libraries; and a utility method for quickly copying a portion of an array.

Since:
JDK1.0
Version:
1.125, 12/03/01
Author:
Arthur van Hoff
, Matt Murphy (the thief)
See Also:
NewSystem

Field Summary
static java.io.PrintStream err
           
static java.io.InputStream in
           
static java.io.PrintStream out
           
private static java.util.Properties props
          System properties.
private static SecurityManager security
           
 
Constructor Summary
private System()
          Don't let anyone instantiate this class
 
Method Summary
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
           
private static boolean calledFromOldSystem()
           
static long currentTimeMillis()
           
static void exit(int status)
           
static void gc()
           
(package private) static Class getCallerClass()
           
static String getenv(String name)
           
static java.util.Properties getProperties()
           
static String getProperty(String key)
           
static String getProperty(String key, String def)
           
static SecurityManager getSecurityManager()
           
static int identityHashCode(Object x)
           
private static void initializeSystemClass()
          Initialize the system class.
private static java.util.Properties initProperties(java.util.Properties props)
           
static void load(String filename)
           
static void loadLibrary(String libname)
           
static String mapLibraryName(String libname)
           
private static java.io.InputStream nullInputStream()
          The following two methods exist because in, out, and err must be initialized to null.
private static java.io.PrintStream nullPrintStream()
           
private static void registerNatives()
           
static void runFinalization()
           
static void runFinalizersOnExit(boolean value)
           
static void setErr(java.io.PrintStream err)
           
private static void setErr0(java.io.PrintStream err)
           
static void setIn(java.io.InputStream in)
           
private static void setIn0(java.io.InputStream in)
           
static void setOut(java.io.PrintStream out)
           
private static void setOut0(java.io.PrintStream out)
           
static void setProperties(java.util.Properties props)
           
static String setProperty(String key, String value)
           
static void setSecurityManager(SecurityManager s)
           
private static void setSecurityManager0(SecurityManager s)
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

in

public static final java.io.InputStream in
See Also:
NewSystem.in

out

public static final java.io.PrintStream out
See Also:
NewSystem.out, PrintStream.println(), PrintStream.println(boolean), PrintStream.println(char), PrintStream.println(char[]), PrintStream.println(double), PrintStream.println(float), PrintStream.println(int), PrintStream.println(long), PrintStream.println(java.lang.Object), PrintStream.println(java.lang.String)

err

public static final java.io.PrintStream err
See Also:
NewSystem.err

security

private static SecurityManager security

props

private static java.util.Properties props
System properties. The following properties are guaranteed to be defined:
java.version
Java version number
java.vendor
Java vendor specific string
java.vendor.url
Java vendor URL
java.home
Java installation directory
java.class.version
Java class version number
java.class.path
Java classpath
os.name
Operating System Name
os.arch
Operating System Architecture
os.version
Operating System Version
file.separator
File separator ("/" on Unix)
path.separator
Path separator (":" on Unix)
line.separator
Line separator ("\n" on Unix)
user.name
User account name
user.home
User home directory
user.dir
User's current working directory

Constructor Detail

System

private System()
Don't let anyone instantiate this class

Method Detail

registerNatives

private static void registerNatives()

setIn

public static void setIn(java.io.InputStream in)
See Also:
NewSystem.setIn(InputStream)

setOut

public static void setOut(java.io.PrintStream out)
See Also:
NewSystem.setOut(PrintStream)

setErr

public static void setErr(java.io.PrintStream err)
See Also:
NewSystem.setErr(PrintStream)

setIn0

private static void setIn0(java.io.InputStream in)

setOut0

private static void setOut0(java.io.PrintStream out)

setErr0

private static void setErr0(java.io.PrintStream err)

setSecurityManager

public static void setSecurityManager(SecurityManager s)
See Also:
NewSystem.setSecurityManager(SecurityManager)

setSecurityManager0

private static void setSecurityManager0(SecurityManager s)

getSecurityManager

public static SecurityManager getSecurityManager()
See Also:
NewSystem.getSecurityManager()

currentTimeMillis

public static long currentTimeMillis()
See Also:
OldSystem.currentTimeMillis()

arraycopy

public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)
See Also:
OldSystem.arraycopy(Object,int,Object,int,int)

identityHashCode

public static int identityHashCode(Object x)
See Also:
OldSystem.identityHashCode(Object)

initProperties

private static java.util.Properties initProperties(java.util.Properties props)

getProperties

public static java.util.Properties getProperties()
See Also:
NewSystem.getProperties()

setProperties

public static void setProperties(java.util.Properties props)
See Also:
NewSystem.setProperties(Properties)

getProperty

public static String getProperty(String key)
See Also:
NewSystem.getProperty(String)

getProperty

public static String getProperty(String key,
                                 String def)
See Also:
NewSystem.getProperty(String)

setProperty

public static String setProperty(String key,
                                 String value)
See Also:
NewSystem.setProperty(String,String)

getenv

public static String getenv(String name)
See Also:
OldSystem.getenv(String)

exit

public static void exit(int status)
See Also:
NewSystem.exit(int)

gc

public static void gc()
See Also:
OldSystem.gc()

runFinalization

public static void runFinalization()
See Also:
OldSystem.runFinalization()

runFinalizersOnExit

public static void runFinalizersOnExit(boolean value)
See Also:
OldSystem.runFinalizersOnExit(boolean)

load

public static void load(String filename)
See Also:
OldSystem.load(String)

loadLibrary

public static void loadLibrary(String libname)
See Also:
OldSystem.loadLibrary(String)

mapLibraryName

public static String mapLibraryName(String libname)
See Also:
OldSystem.mapLibraryName(String)

nullInputStream

private static java.io.InputStream nullInputStream()
                                            throws NullPointerException
The following two methods exist because in, out, and err must be initialized to null. The compiler, however, cannot be permitted to inline access to them, since they are later set to more sensible values by initializeSystemClass().

NullPointerException

nullPrintStream

private static java.io.PrintStream nullPrintStream()
                                            throws NullPointerException
NullPointerException

initializeSystemClass

private static void initializeSystemClass()
Initialize the system class. Called after thread initialization.


getCallerClass

static Class getCallerClass()

calledFromOldSystem

private static boolean calledFromOldSystem()