- java.lang.Object
-
- java.lang.System
-
public final class System extends Object
Class System provides a standard place for programs to find system related information. All System API is static.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
System.Logger
Logger logs messages that will be routed to the underlying logging framework that LoggerFinder uses.static class
System.LoggerFinder
The LoggerFinder service creates, manages and configures loggers to the underlying framework it uses.
-
Field Summary
Fields Modifier and Type Field Description static PrintStream
err
Default error output streamstatic InputStream
in
Default input streamstatic PrintStream
out
Default output stream
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
arraycopy(Object array1, int start1, Object array2, int start2, int length)
Copies the contents ofarray1
starting at offsetstart1
intoarray2
starting at offsetstart2
forlength
elements.static String
clearProperty(String prop)
Removes the property.static Console
console()
Return the Console or null.static long
currentTimeMillis()
Answers the current time expressed as milliseconds since the time 00:00:00 UTC on January 1, 1970.static void
exit(int code)
Causes the virtual machine to stop running, and the program to exit.static void
gc()
Indicate to the virtual machine that it would be a good time to collect available memory.static Map<String,String>
getenv()
Returns all of the system environment variables in an unmodifiable Map.static String
getenv(String var)
Returns an environment variable.static System.Logger
getLogger(String loggerName)
Return an instance of Logger.static System.Logger
getLogger(String loggerName, ResourceBundle bundle)
Return an instance of Logger that is localized based on the ResourceBundlestatic Properties
getProperties()
Answers the system properties.static String
getProperty(String prop)
Answers the value of a particular system property.static String
getProperty(String prop, String defaultValue)
Answers the value of a particular system property.static SecurityManager
getSecurityManager()
Answers the active security manager.static int
identityHashCode(Object anObject)
Answers an integer hash code for the parameter.static Channel
inheritedChannel()
Return the channel inherited by the invocation of the running vm.static String
lineSeparator()
Return platform specific line separator character(s) Unix is \n while Windows is \r\n as per the prop set by the VM Refer to Jazz 30875static void
load(String pathName)
Loads the specified file as a dynamic library.static void
loadLibrary(String libName)
Loads and links the library specified by the argument.static String
mapLibraryName(String userLibName)
Answers the platform specific file name format for the shared library named by the argument.static long
nanoTime()
Returns the current tick count in nanoseconds.static void
runFinalization()
Provides a hint to the virtual machine that it would be useful to attempt to perform any outstanding object finalizations.static void
setErr(PrintStream newErr)
Sets the value of the static slot "err" in the receiver to the passed in argument.static void
setIn(InputStream newIn)
Sets the value of the static slot "in" in the receiver to the passed in argument.static void
setOut(PrintStream newOut)
Sets the value of the static slot "out" in the receiver to the passed in argument.static void
setProperties(Properties p)
Answers the system properties.static String
setProperty(String prop, String value)
Sets the value of a particular system property.static void
setSecurityManager(SecurityManager s)
Sets the active security manager.
-
-
-
Field Detail
-
in
public static final InputStream in
Default input stream
-
out
public static final PrintStream out
Default output stream
-
err
public static final PrintStream err
Default error output stream
-
-
Method Detail
-
setIn
public static void setIn(InputStream newIn)
Sets the value of the static slot "in" in the receiver to the passed in argument.- Parameters:
newIn
- the new value for in.
-
setOut
public static void setOut(PrintStream newOut)
Sets the value of the static slot "out" in the receiver to the passed in argument.- Parameters:
newOut
- the new value for out.
-
setErr
public static void setErr(PrintStream newErr)
Sets the value of the static slot "err" in the receiver to the passed in argument.- Parameters:
newErr
- the new value for err.
-
arraycopy
public static void arraycopy(Object array1, int start1, Object array2, int start2, int length)
Copies the contents ofarray1
starting at offsetstart1
intoarray2
starting at offsetstart2
forlength
elements.- Parameters:
array1
- the array to copy out ofstart1
- the starting index in array1array2
- the array to copy intostart2
- the starting index in array2length
- the number of elements in the array to copy
-
currentTimeMillis
public static long currentTimeMillis()
Answers the current time expressed as milliseconds since the time 00:00:00 UTC on January 1, 1970.- Returns:
- the time in milliseconds.
-
exit
public static void exit(int code)
Causes the virtual machine to stop running, and the program to exit. If runFinalizersOnExit(true) has been invoked, then all finalizers will be run first.- Parameters:
code
- the return code.- Throws:
SecurityException
- if the running thread is not allowed to cause the vm to exit.- See Also:
SecurityManager.checkExit(int)
-
gc
public static void gc()
Indicate to the virtual machine that it would be a good time to collect available memory. Note that, this is a hint only.
-
getenv
public static String getenv(String var)
Returns an environment variable.- Parameters:
var
- the name of the environment variable- Returns:
- the value of the specified environment variable
-
getProperties
public static Properties getProperties()
Answers the system properties. Note that this is not a copy, so that changes made to the returned Properties object will be reflected in subsequent calls to getProperty and getProperties.Security managers should restrict access to this API if possible.
- Returns:
- the system properties
-
getProperty
public static String getProperty(String prop)
Answers the value of a particular system property. Answers null if no such property exists,The properties currently provided by the virtual machine are:
java.vendor java.vendor.url java.class.path user.home java.class.version os.version user.dir user.timezone path.separator os.name os.arch line.separator file.separator user.name java.version java.home
- Parameters:
prop
- the system property to look up- Returns:
- the value of the specified system property, or null if the property doesn't exist
-
getProperty
public static String getProperty(String prop, String defaultValue)
Answers the value of a particular system property. If no such property is found, answers the defaultValue.- Parameters:
prop
- the system property to look updefaultValue
- return value if system property is not found- Returns:
- the value of the specified system property, or defaultValue if the property doesn't exist
-
setProperty
public static String setProperty(String prop, String value)
Sets the value of a particular system property.- Parameters:
prop
- the system property to changevalue
- the value to associate with prop- Returns:
- the old value of the property, or null
-
getSecurityManager
public static SecurityManager getSecurityManager()
Answers the active security manager.- Returns:
- the system security manager object.
-
identityHashCode
public static int identityHashCode(Object anObject)
Answers an integer hash code for the parameter. The hash code returned is the same one that would be returned by java.lang.Object.hashCode(), whether or not the object's class has overridden hashCode(). The hash code for null is 0.- Parameters:
anObject
- the object- Returns:
- the hash code for the object
- See Also:
Object.hashCode()
-
load
public static void load(String pathName)
Loads the specified file as a dynamic library.- Parameters:
pathName
- the path of the file to be loaded
-
loadLibrary
public static void loadLibrary(String libName)
Loads and links the library specified by the argument.- Parameters:
libName
- the name of the library to load- Throws:
UnsatisfiedLinkError
- if the library could not be loadedSecurityException
- if the library was not allowed to be loaded
-
runFinalization
public static void runFinalization()
Provides a hint to the virtual machine that it would be useful to attempt to perform any outstanding object finalizations.
-
setProperties
public static void setProperties(Properties p)
Answers the system properties. Note that the object which is passed in not copied, so that subsequent changes made to the object will be reflected in calls to getProperty and getProperties.Security managers should restrict access to this API if possible.
- Parameters:
p
- the property to set
-
setSecurityManager
public static void setSecurityManager(SecurityManager s)
Sets the active security manager. Note that once the security manager has been set, it can not be changed. Attempts to do so will cause a security exception.- Parameters:
s
- the new security manager- Throws:
SecurityException
- if the security manager has already been set and its checkPermission method doesn't allow it to be replaced.
-
mapLibraryName
public static String mapLibraryName(String userLibName)
Answers the platform specific file name format for the shared library named by the argument.- Parameters:
userLibName
- the name of the library to look up.- Returns:
- the platform specific filename for the library
-
inheritedChannel
public static Channel inheritedChannel() throws IOException
Return the channel inherited by the invocation of the running vm. The channel is obtained by calling SelectorProvider.inheritedChannel().- Returns:
- the inherited channel or null
- Throws:
IOException
- if an IO error occurs getting the inherited channel
-
nanoTime
public static long nanoTime()
Returns the current tick count in nanoseconds. The tick count only reflects elapsed time.- Returns:
- the current nanosecond tick count, which may be negative
-
clearProperty
public static String clearProperty(String prop)
Removes the property.- Parameters:
prop
- the name of the property to remove- Returns:
- the value of the property removed
-
getenv
public static Map<String,String> getenv()
Returns all of the system environment variables in an unmodifiable Map.- Returns:
- an unmodifiable Map containing all of the system environment variables.
-
console
public static Console console()
Return the Console or null.- Returns:
- the Console or null
-
lineSeparator
public static String lineSeparator()
Return platform specific line separator character(s) Unix is \n while Windows is \r\n as per the prop set by the VM Refer to Jazz 30875- Returns:
- platform specific line separator character(s)
-
getLogger
public static System.Logger getLogger(String loggerName)
Return an instance of Logger.- Parameters:
loggerName
- The name of the logger to return- Returns:
- An instance of the logger.
- Throws:
NullPointerException
- if the loggerName is null
-
getLogger
public static System.Logger getLogger(String loggerName, ResourceBundle bundle)
Return an instance of Logger that is localized based on the ResourceBundle- Parameters:
loggerName
- The name of the logger to returnbundle
- The ResourceBundle to use for localization- Returns:
- An instance of the logger localized to 'bundle'
- Throws:
NullPointerException
- if the loggerName or bundle is null
-
-