java.lang.Object
java.lang.System
Class System provides a standard place for programs
to find system related information. All System API
is static.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Logger logs messages that will be routed to the underlying logging framework that LoggerFinder uses.static class
The LoggerFinder service creates, manages and configures loggers to the underlying framework it uses. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final PrintStream
Default error output streamstatic final InputStream
Default input streamstatic final PrintStream
Default output stream -
Method Summary
Modifier and TypeMethodDescriptionstatic void
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
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.getenv()
Returns all of the system environment variables in an unmodifiable Map.static String
Returns an environment variable.static System.Logger
Return an instance of Logger.static System.Logger
getLogger
(String loggerName, ResourceBundle bundle) Return an instance of Logger that is localized based on the ResourceBundle.static Properties
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
Deprecated, for removal: This API element is subject to removal in a future version.static int
identityHashCode
(Object anObject) Answers an integer hash code for the parameter.static Channel
Return the channel inherited by the invocation of the running vm.static String
Return platform specific line separator character(s).static void
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 filename for the shared library named by the argument.static long
nanoTime()
Returns the current tick count in nanoseconds.static void
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
Sets the system properties.static String
setProperty
(String prop, String value) Sets the value of a particular system property.static void
Deprecated, for removal: This API element is subject to removal in a future version.
-
Field Details
-
in
Default input stream -
out
Default output stream -
err
Default error output stream
-
-
Method Details
-
setIn
Sets the value of the static slot "in" in the receiver to the passed in argument.- Parameters:
newIn
- the new value for in.
-
setOut
Sets the value of the static slot "out" in the receiver to the passed in argument.- Parameters:
newOut
- the new value for out.
-
setErr
Sets the value of the static slot "err" in the receiver to the passed in argument.- Parameters:
newErr
- the new value for err.
-
arraycopy
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.- Parameters:
code
- the return code.- Throws:
SecurityException
- if the running thread is not allowed to cause the vm to exit.- See Also:
-
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
Returns an environment variable.- Parameters:
var
- the name of the environment variable- Returns:
- the value of the specified environment variable
-
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 togetProperty()
andgetProperties()
.Security managers should restrict access to this API if possible.
- Returns:
- the system properties
-
getProperty
Answers the value of a particular system property. Answers null if no such property exists.The properties currently provided by the virtual machine are:
file.separator java.class.path java.class.version java.home java.version line.separator os.arch os.name os.version path.separator user.dir user.home user.name user.timezone
- 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
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
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
Deprecated, for removal: This API element is subject to removal in a future version.Answers the active security manager.- Returns:
- the system security manager object.
-
identityHashCode
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:
-
load
Loads the specified file as a dynamic library.- Parameters:
pathName
- the path of the file to be loaded- Throws:
UnsatisfiedLinkError
- if the library could not be loadedNullPointerException
- if pathName is nullSecurityException
- if the library was not allowed to be loaded
-
loadLibrary
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 loadedNullPointerException
- if libName is nullSecurityException
- 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
Sets the system properties. Note that the object which is passed in is not copied, so that subsequent changes made to it will be reflected in calls togetProperty()
andgetProperties()
.Security managers should restrict access to this API if possible.
- Parameters:
p
- the properties to set
-
setSecurityManager
Deprecated, for removal: This API element is subject to removal in a future version.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.UnsupportedOperationException
- if s is non-null and a special token "disallow" has been set for system property "java.security.manager" which indicates that a security manager is not allowed to be set dynamically.
-
mapLibraryName
Answers the platform-specific filename 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
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
Removes the property.- Parameters:
prop
- the name of the property to remove- Returns:
- the value of the property removed
-
getenv
Returns all of the system environment variables in an unmodifiable Map.- Returns:
- an unmodifiable Map containing all of the system environment variables.
-
console
Return the Console or null.- Returns:
- the Console or null
-
lineSeparator
Return platform specific line separator character(s). Unix is \n while Windows is \r\n as per the prop set by the VM.- Returns:
- platform specific line separator string
-
getLogger
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
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
-