Class System
System class contains several useful class fieldsand methods. It cannot be instantiated.Among the facilities provided by theSystem classare standard input, standard output, and error output streams;access to externally defined properties and environmentvariables; a means of loading files and libraries; and a utilitymethod for quickly copying a portion of an array.- Since:
- 1.0
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceSystem.Loggerinstances log messages that will berouted to the underlying logging framework theLoggerFinderuses.static classTheLoggerFinderservice is responsible for creating, managing,and configuring loggers to the underlying framework it uses.Field Summary
FieldsModifier and TypeFieldDescriptionstatic finalPrintStreamThe "standard" error output stream.static finalInputStreamThe "standard" input stream.static finalPrintStreamThe "standard" output stream.Method Summary
Modifier and TypeMethodDescriptionstatic voidCopies an array from the specified source array, beginning at thespecified position, to the specified position of the destination array.staticStringclearProperty(String key) Removes the system property indicated by the specified key.staticConsoleconsole()Returns the uniqueConsoleobject associatedwith the current Java virtual machine, if any.static longReturns the current time in milliseconds.static voidexit(int status) Initiates theshutdown sequence of the Java VirtualMachine.static voidgc()Runs the garbage collector in the Java Virtual Machine.getenv()Returns an unmodifiable string map view of the current system environment.staticStringGets the value of the specified environment variable.staticSystem.LoggerReturns an instance ofLoggerfor the caller'suse.staticSystem.LoggergetLogger(String name,ResourceBundle bundle) Returns a localizable instance ofLoggerfor the caller's use.staticPropertiesDetermines the current system properties.staticStringgetProperty(String key) Gets the system property indicated by the specified key.staticStringgetProperty(String key,String def) Gets the system property indicated by the specified key.staticSecurityManagerDeprecated, for removal: This API element is subject to removal in a future version.This method originally returnedthe system-wide Security Manager.static intReturns the same hash code for the given object aswould be returned by the default method hashCode(),whether or not the given object's class overrideshashCode().staticChannelReturns the channel inherited from the entity that created thisJava virtual machine.staticStringReturns the system-dependent line separator string.static voidRestricted.Loads the native library specified by the filename argument.static voidloadLibrary(String libname) Restricted.Loads the native library specified by thelibnameargument.staticStringmapLibraryName(String libname) Maps a library name into a platform-specific string representinga native library.static longnanoTime()Returns the current value of the running Java Virtual Machine'shigh-resolution time source, in nanoseconds.static voidDeprecated, for removal: This API element is subject to removal in a future version.Finalization has been deprecated for removal.static voidsetErr(PrintStream err) Reassigns the "standard" error output stream.static voidsetIn(InputStream in) Reassigns the "standard" input stream.static voidsetOut(PrintStream out) Reassigns the "standard" output stream.static voidsetProperties(Properties props) Sets the system properties to thePropertiesargument.staticStringsetProperty(String key,String value) Sets the system property indicated by the specified key.static voidDeprecated, for removal: This API element is subject to removal in a future version.This method originally setthe system-wide Security Manager.
Field Details
in
The "standard" input stream. This stream is alreadyopen and ready to supply input data. This streamcorresponds to keyboard input or another input source specified bythe host environment or user. Applications should use the encodingspecified by thestdin.encodingpropertyto convert input bytes to character data.- API Note:
- The typical approach to read character data is to wrap
System.inwithin the object that handles character encoding. After this is done,subsequent reading should use only the wrapper object; continuing tooperate directly onSystem.inresults in unspecified behavior.Here are two common examples. Using an
InputStreamReader:Or using anew InputStreamReader(System.in, System.getProperty("stdin.encoding"));Scanner:new Scanner(System.in, System.getProperty("stdin.encoding"));For handling interactive input, consider using
Console. - See Also:
out
The "standard" output stream. This stream is alreadyopen and ready to accept output data. Typically this streamcorresponds to display output or another output destinationspecified by the host environment or user. The encoding usedin the conversion from characters to bytes is equivalent tostdout.encoding.For simple stand-alone Java applications, a typical way to writea line of output data is:
System.out.println(data)
See the
printlnmethods in classPrintStream.- See Also:
err
The "standard" error output stream. This stream is alreadyopen and ready to accept output data.Typically this stream corresponds to display output or anotheroutput destination specified by the host environment or user. Byconvention, this output stream is used to display error messagesor other information that should come to the immediate attentionof a user even if the principal output stream, the value of thevariable
out, has been redirected to a file or otherdestination that is typically not continuously monitored.The encoding used in the conversion from characters to bytes isequivalent tostderr.encoding.- See Also:
Method Details
setIn
Reassigns the "standard" input stream.- Parameters:
in- the new standard input stream.- Since:
- 1.1
setOut
Reassigns the "standard" output stream.- Parameters:
out- the new standard output stream- Since:
- 1.1
setErr
Reassigns the "standard" error output stream.- Parameters:
err- the new standard error output stream.- Since:
- 1.1
console
inheritedChannel
Returns the channel inherited from the entity that created thisJava virtual machine.This method returns the channel obtained by invoking theinheritedChannelmethod of the system-wide defaultSelectorProviderobject.In addition to the network-oriented channels described in
inheritedChannel, this method may return other kinds ofchannels in the future.- Returns:
- The inherited channel, if any, otherwise
null. - Throws:
IOException- If an I/O error occurs- Since:
- 1.5
setSecurityManager
Deprecated, for removal: This API element is subject to removal in a future version.This method originally setthe system-wide Security Manager. Setting a Security Manager is no longer supported. There is no replacement for the Security Manager or this method.ThrowsUnsupportedOperationException. Setting a security manageris not supported.- Parameters:
sm- ignored- Throws:
UnsupportedOperationException- always- See Also:
getSecurityManager
Deprecated, for removal: This API element is subject to removal in a future version.This method originally returnedthe system-wide Security Manager. Setting a Security Manager is no longer supported. There is no replacement for the Security Manager or this method.Returnsnull. Setting a security manager is not supported.- Returns:
null- See Also:
currentTimeMillis
public static long currentTimeMillis()Returns the current time in milliseconds. Note thatwhile the unit of time of the return value is a millisecond,the granularity of the value depends on the underlyingoperating system and may be larger. For example, manyoperating systems measure time in units of tens ofmilliseconds.See the description of the class
Datefora discussion of slight discrepancies that may arise between"computer time" and coordinated universal time (UTC).- Returns:
- the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC.
- See Also:
nanoTime
public static long nanoTime()Returns the current value of the running Java Virtual Machine'shigh-resolution time source, in nanoseconds.This method can only be used to measure elapsed time and isnot related to any other notion of system or wall-clock time.The value returned represents nanoseconds since some fixed butarbitraryorigin time (perhaps in the future, so valuesmay be negative). The same origin is used by all invocations ofthis method in an instance of a Java virtual machine; othervirtual machine instances are likely to use a different origin.This method provides nanosecond precision, but not necessarilynanosecond resolution (that is, how frequently the value changes)- no guarantees are made except that the resolution is at least asgood as that of
currentTimeMillis().Differences in successive calls that span greater thanapproximately 292 years (263 nanoseconds) will notcorrectly compute elapsed time due to numerical overflow.
The values returned by this method become meaningful only whenthe difference between two such values, obtained within the sameinstance of a Java virtual machine, is computed.
For example, to measure how long some code takes to execute:
long startTime = System.nanoTime();// ... the code being measured ...long elapsedNanos = System.nanoTime() - startTime;To compare elapsed time against a timeout, use
instead ofif (System.nanoTime() - startTime >= timeoutNanos) ...
because of the possibility of numerical overflow.if (System.nanoTime() >= startTime + timeoutNanos) ...- Returns:
- the current value of the running Java Virtual Machine's high-resolution time source, in nanoseconds
- Since:
- 1.5
arraycopy
Copies an array from the specified source array, beginning at thespecified position, to the specified position of the destination array.A subsequence of array components are copied from the sourcearray referenced bysrcto the destination arrayreferenced bydest. The number of components copied isequal to thelengthargument. The components atpositionssrcPosthroughsrcPos+length-1in the source array are copied intopositionsdestPosthroughdestPos+length-1, respectively, of the destinationarray.If the
srcanddestarguments refer to thesame array object, then the copying is performed as if thecomponents at positionssrcPosthroughsrcPos+length-1were first copied to a temporaryarray withlengthcomponents and then the contents ofthe temporary array were copied into positionsdestPosthroughdestPos+length-1of thedestination array.If
destisnull, then aNullPointerExceptionis thrown.If
srcisnull, then aNullPointerExceptionis thrown and the destinationarray is not modified.Otherwise, if any of the following is true, an
ArrayStoreExceptionis thrown and the destination isnot modified:- The
srcargument refers to an object that is not an array. - The
destargument refers to an object that is not an array. - The
srcargument anddestargument refer to arrays whose component types are different primitive types. - The
srcargument refers to an array with a primitive component type and thedestargument refers to an array with a reference component type. - The
srcargument refers to an array with a reference component type and thedestargument refers to an array with a primitive component type.
Otherwise, if any of the following is true, an
IndexOutOfBoundsExceptionisthrown and the destination is not modified:- The
srcPosargument is negative. - The
destPosargument is negative. - The
lengthargument is negative. srcPos+lengthis greater thansrc.length, the length of the source array.destPos+lengthis greater thandest.length, the length of the destination array.
Otherwise, if any actual component of the source array fromposition
srcPosthroughsrcPos+length-1cannot be converted to the componenttype of the destination array by assignment conversion, anArrayStoreExceptionis thrown. In this case, letk be the smallest nonnegative integer less thanlength such thatsrc[srcPos+k]cannot be converted to the component type of the destinationarray; when the exception is thrown, source array components frompositionssrcPosthroughsrcPos+k-1will already have been copied to destination array positionsdestPosthroughdestPos+k-1and no otherpositions of the destination array will have been modified.(Because of the restrictions already itemized, thisparagraph effectively applies only to the situation where botharrays have component types that are reference types.)- Parameters:
src- the source array.srcPos- starting position in the source array.dest- the destination array.destPos- starting position in the destination data.length- the number of array elements to be copied.- Throws:
IndexOutOfBoundsException- if copying would cause access of data outside array bounds.ArrayStoreException- if an element in thesrcarray could not be stored into thedestarray because of a type mismatch.NullPointerException- if eithersrcordestisnull.
- The
identityHashCode
Returns the same hash code for the given object aswould be returned by the default method hashCode(),whether or not the given object's class overrideshashCode().The hash code for the null reference is zero.- Parameters:
x- object for which the hashCode is to be calculated- Returns:
- the hashCode
- Since:
- 1.1
- See Also:
getProperties
Determines the current system properties.The current set of system properties for use by the
getProperty(String)method is returned as aPropertiesobject. If there is no current set ofsystem properties, a set of system properties is first created andinitialized. This set of system properties includes a valuefor each of the following keys unless the description of the associatedvalue indicates that the value is optional.Shows property keys and associated values Key Description of Associated Value java.versionJava Runtime Environment version, which may be interpreted as a Runtime.Versionjava.version.dateJava Runtime Environment version date, in ISO-8601 YYYY-MM-DD format, which may be interpreted as a LocalDatejava.vendorJava Runtime Environment vendor java.vendor.urlJava vendor URL java.vendor.versionJava vendor version(optional) java.homeJava installation directory java.vm.specification.versionJava Virtual Machine specification version, whose value is thefeature element of theruntime version java.vm.specification.vendorJava Virtual Machine specification vendor java.vm.specification.nameJava Virtual Machine specification name java.vm.versionJava Virtual Machine implementation version which may be interpreted as a Runtime.Versionjava.vm.vendorJava Virtual Machine implementation vendor java.vm.nameJava Virtual Machine implementation name java.specification.versionJava Runtime Environment specification version, whose value is thefeature element of theruntime version java.specification.maintenance.versionJava Runtime Environment specification maintenance version, may be interpreted as a positive integer(optional, see below) java.specification.vendorJava Runtime Environment specification vendor java.specification.nameJava Runtime Environment specification name java.class.versionLatest Java class file format version recognized by the Java runtime as "MAJOR.MINOR"whereMAJORandMINORare both formatted as decimal integersjava.class.pathJava class path (refer to ClassLoader.getSystemClassLoader()for details)java.library.pathList of paths to search when loading libraries java.io.tmpdirDefault temp file path os.nameOperating system name os.archOperating system architecture os.versionOperating system version file.separatorFile separator ("/" on UNIX) path.separatorPath separator (":" on UNIX) line.separatorLine separator ("\n" on UNIX) user.nameUser's account name user.homeUser's home directory user.dirUser's current working directory native.encodingCharacter encoding name derived from the host environment and the user's settings. Setting this system property on the command line has no effect. stdin.encodingCharacter encoding name for System.in. The Java runtime can be started with the system property set toUTF-8. Starting it with the property set to another value results in unspecified behavior.stdout.encodingCharacter encoding name for System.outandSystem.console(). The Java runtime can be started with the system property set toUTF-8. Starting it with the property set to another value results in unspecified behavior.stderr.encodingCharacter encoding name for System.err. The Java runtime can be started with the system property set toUTF-8. Starting it with the property set to another value results in unspecified behavior.The
java.specification.maintenance.versionproperty isdefined if the specification implemented by this runtime at thetime of its construction had undergone amaintenancerelease. When defined, its value identifies thatmaintenance release. To indicate the first maintenance releasethis property will have the value"1", to indicate thesecond maintenance release this property will have the value"2", and so on.Multiple paths in a system property value are separated by the pathseparator character of the platform.
Additional locale-related system properties defined by the
Default Localesection in theLocaleclass description may also be obtained with this method.- API Note:
- Changing a standard system property may have unpredictable resultsunless otherwise specified.Property values may be cached during initialization or on first use.Setting a standard property after initialization using
getProperties(),setProperties(Properties),setProperty(String, String), orclearProperty(String)may not have the desired effect. - Implementation Note:
- In addition to the standard system properties, the systemproperties may include the following keys:
Shows property keys and associated values Key Description of Associated Value jdk.module.pathThe application module path jdk.module.upgrade.pathThe upgrade module path jdk.module.mainThe module name of the initial/main module jdk.module.main.classThe main class name of the initial module file.encodingThe name of the default charset, defaults to UTF-8. The property may be set on the command line to the valueUTF-8orCOMPAT. If set on the command line to the valueCOMPATthen the value is replaced with the value of thenative.encodingproperty during startup. Setting the property to a value other thanUTF-8orCOMPATresults in unspecified behavior. - Returns:
- the system properties
- See Also:
lineSeparator
Returns the system-dependent line separator string. It alwaysreturns the same value - the initial value of thesystem propertyline.separator.On UNIX systems, it returns
"\n"; on MicrosoftWindows systems it returns"\r\n".- Returns:
- the system-dependent line separator string
- Since:
- 1.7
setProperties
Sets the system properties to thePropertiesargument.The argument becomes the current set of system properties for useby the
getProperty(String)method. If the argument isnull, then the current set of system properties isforgotten.- API Note:
- Changing a standard system property may have unpredictable resultsunless otherwise specified.SeegetProperties for details.
- Parameters:
props- the new system properties.- See Also:
getProperty
Gets the system property indicated by the specified key.If there is no current set of system properties, a set of systemproperties is first created and initialized in the same manner asfor the
getPropertiesmethod.- API Note:
- Changing a standard system property may have unpredictable resultsunless otherwise specified.SeegetProperties for details.
- Parameters:
key- the name of the system property.- Returns:
- the string value of the system property, or
nullif there is no property with that key. - Throws:
NullPointerException- ifkeyisnull.IllegalArgumentException- ifkeyis empty.- See Also:
getProperty
Gets the system property indicated by the specified key.If there is no current set of system properties, a set of systemproperties is first created and initialized in the same manner asfor the
getPropertiesmethod.- Parameters:
key- the name of the system property.def- a default value.- Returns:
- the string value of the system property, or the default value if there is no property with that key.
- Throws:
NullPointerException- ifkeyisnull.IllegalArgumentException- ifkeyis empty.- See Also:
setProperty
Sets the system property indicated by the specified key.- API Note:
- Changing a standard system property may have unpredictable resultsunless otherwise specified.SeegetProperties for details.
- Parameters:
key- the name of the system property.value- the value of the system property.- Returns:
- the previous value of the system property, or
nullif it did not have one. - Throws:
NullPointerException- ifkeyorvalueisnull.IllegalArgumentException- ifkeyis empty.- Since:
- 1.2
- See Also:
clearProperty
Removes the system property indicated by the specified key.- API Note:
- Changing a standard system property may have unpredictable resultsunless otherwise specified.SeegetProperties method for details.
- Parameters:
key- the name of the system property to be removed.- Returns:
- the previous string value of the system property, or
nullif there was no property with that key. - Throws:
NullPointerException- ifkeyisnull.IllegalArgumentException- ifkeyis empty.- Since:
- 1.5
- See Also:
getenv
Gets the value of the specified environment variable. Anenvironment variable is a system-dependent external namedvalue.Systemproperties andenvironment variables are bothconceptually mappings between names and values. Bothmechanisms can be used to pass user-defined information to aJava process. Environment variables have a more global effect,because they are visible to all descendants of the processwhich defines them, not just the immediate Java subprocess.They can have subtly different semantics, such as caseinsensitivity, on different operating systems. For thesereasons, environment variables are more likely to haveunintended side effects. It is best to use system propertieswhere possible. Environment variables should be used when aglobal effect is desired, or when an external system interfacerequires an environment variable (such as
PATH).On UNIX systems the alphabetic case of
nameistypically significant, while on Microsoft Windows systems it istypically not. For example, the expressionSystem.getenv("FOO").equals(System.getenv("foo"))is likely to be true on Microsoft Windows.- Parameters:
name- the name of the environment variable- Returns:
- the string value of the variable, or
nullif the variable is not defined in the system environment - Throws:
NullPointerException- ifnameisnull- See Also:
getenv
Returns an unmodifiable string map view of the current system environment.The environment is a system-dependent mapping from names tovalues which is passed from parent to child processes.If the system does not support environment variables, anempty map is returned.
The returned map will never contain null keys or values.Attempting to query the presence of a null key or value willthrow a
NullPointerException. Attempting to querythe presence of a key or value which is not of typeStringwill throw aClassCastException.The returned map and its collection views may not obey thegeneral contract of the
Object.equals(Object)andObject.hashCode()methods.The returned map is typically case-sensitive on all platforms.
When passing information to a Java subprocess,system propertiesare generally preferred over environment variables.
- Returns:
- the environment as a map of variable names to values
- Since:
- 1.5
- See Also:
getLogger
Returns an instance ofLoggerfor the caller'suse.- API Note:
- This method may defer calling the
LoggerFinder.getLoggermethod to create an actual logger supplied bythe logging backend, for instance, to allow loggers to be obtained duringthe system initialization time. - Implementation Requirements:
- Instances returned by this method route messages to loggersobtained by calling
LoggerFinder.getLogger(name, module), wheremoduleis the caller's module.In cases whereSystem.getLoggeris called from a context wherethere is no caller frame on the stack (e.g when called directlyfrom a JNI attached thread),IllegalCallerExceptionis thrown.To obtain a logger in such a context, use an auxiliary class that willimplicitly be identified as the caller, or use the systemLoggerFinderto obtain a logger instead.Note that doing the latter may eagerly initialize the underlyinglogging system. - Parameters:
name- the name of the logger.- Returns:
- an instance of
System.Loggerthat can be used by the calling class. - Throws:
NullPointerException- ifnameisnull.IllegalCallerException- if there is no Java caller frame on the stack.- Since:
- 9
getLogger
Returns a localizable instance ofLoggerfor the caller's use.The returned logger will use the provided resource bundle for messagelocalization.- API Note:
- This method is intended to be used after the system is fully initialized.This method may trigger the immediate loading and initializationof the
System.LoggerFinderservice, which may cause issues if theJava Runtime is not ready to initialize the concrete serviceimplementation yet.System classes which may be loaded early in the boot sequence andneed to log localized messages should create a logger usinggetLogger(java.lang.String)and then use the log methods thattake a resource bundle as parameter. - Implementation Requirements:
- The returned logger will perform message localization as specifiedby
LoggerFinder.getLocalizedLogger(name, bundle, module), wheremoduleis the caller's module.In cases whereSystem.getLoggeris called from a context wherethere is no caller frame on the stack (e.g when called directlyfrom a JNI attached thread),IllegalCallerExceptionis thrown.To obtain a logger in such a context, use an auxiliary class thatwill implicitly be identified as the caller, or use the systemLoggerFinderto obtain a logger instead.Note that doing the latter may eagerly initialize the underlyinglogging system. - Parameters:
name- the name of the logger.bundle- a resource bundle.- Returns:
- an instance of
System.Loggerwhich will use the providedresource bundle for message localization. - Throws:
NullPointerException- ifnameisnullorbundleisnull.IllegalCallerException- if there is no Java caller frame on the stack.- Since:
- 9
exit
public static void exit(int status) Initiates theshutdown sequence of the Java VirtualMachine. This method initiates the shutdown sequence (if it is not already initiated)and then blocks indefinitely. This method neither returns nor throws an exception;that is, it does not complete either normally or abruptly.The argument serves as a status code. By convention, a nonzero status codeindicates abnormal termination.
The call
System.exit(n)is effectively equivalent to the call:Runtime.getRuntime().exit(n)- Implementation Note:
- The initiation of the shutdown sequence is logged by
Runtime.exit(int). - Parameters:
status- exit status.- See Also:
gc
public static void gc()Runs the garbage collector in the Java Virtual Machine.Calling the
gcmethod suggests that the Java Virtual Machineexpend effort toward recycling unused objects in order tomake the memory they currently occupy available for reuseby the Java Virtual Machine.When control returns from the method call, the Java Virtual Machinehas made a best effort to reclaim space from all unused objects.There is no guarantee that this effort will recycle any particularnumber of unused objects, reclaim any particular amount of space, orcomplete at any particular time, if at all, before the method returns or ever.There is also no guarantee that this effort will determinethe change of reachability in any particular number of objects,or that any particular number ofReferenceobjects will be cleared and enqueued.The call
System.gc()is effectively equivalent to thecall:Runtime.getRuntime().gc()
- See Also:
runFinalization
Deprecated, for removal: This API element is subject to removal in a future version.Finalization has been deprecated for removal. SeeObject.finalize()for background information and detailsabout migration options.When running in a JVM in which finalization has been disabled or removed,no objects will be pending finalization, so this method does nothing.
Runs the finalization methods of any objects pending finalization.Calling this method suggests that the Java Virtual Machine expendeffort toward running thefinalizemethods of objectsthat have been found to be discarded but whosefinalizemethods have not yet been run. When control returns from themethod call, the Java Virtual Machine has made a best effort tocomplete all outstanding finalizations.The call
System.runFinalization()is effectivelyequivalent to the call:Runtime.getRuntime().runFinalization()
- SeeJava Language Specification:
- 12.6 Finalization of Class Instances
- See Also:
load
loadis arestricted method of the Java platform.Programs can only useloadwhen access to restricted methods is enabled.Restricted methods are unsafe, and, if used incorrectly, might crash the JVM or result in memory corruption.Loads the native library specified by the filename argument. The filenameargument must be an absolute path name.If the filename argument, when stripped of any platform-specific libraryprefix, path, and file extension, indicates a library whose name is,for example, L, and a native library called L is statically linkedwith the VM, then the JNI_OnLoad_L function exported by the libraryis invoked rather than attempting to load a dynamic library.A filename matching the argument does not have to exist in thefile system.See the JNI Specificationfor more details.Otherwise, the filename argument is mapped to a native library image inan implementation-dependent manner.The call
System.load(name)is effectively equivalentto the call:Runtime.getRuntime().load(name)
- Parameters:
filename- the file to load.- Throws:
UnsatisfiedLinkError- if either the filename is not an absolute path name, the native library is not statically linked with the VM, or the library cannot be mapped to a native library image by the host system.NullPointerException- iffilenameisnullIllegalCallerException- if the caller is in a module that does not have native access enabled.- External Specifications
- See Also:
loadLibrary
loadLibraryis arestricted method of the Java platform.Programs can only useloadLibrarywhen access to restricted methods is enabled.Restricted methods are unsafe, and, if used incorrectly, might crash the JVM or result in memory corruption.Loads the native library specified by thelibnameargument. Thelibnameargument must not contain any platformspecific prefix, file extension or path. If a native librarycalledlibnameis statically linked with the VM, then theJNI_OnLoad_libnamefunction exported by the library is invoked.See the JNI Specificationfor more details.Otherwise, the libname argument is loaded from a system librarylocation and mapped to a native library image in animplementation-dependent manner.The call
System.loadLibrary(name)is effectivelyequivalent to the callRuntime.getRuntime().loadLibrary(name)
- Parameters:
libname- the name of the library.- Throws:
UnsatisfiedLinkError- if either the libname argument contains a file path, the native library is not statically linked with the VM, or the library cannot be mapped to a native library image by the host system.NullPointerException- iflibnameisnullIllegalCallerException- if the caller is in a module that does not have native access enabled.- External Specifications
- See Also:
mapLibraryName
Maps a library name into a platform-specific string representinga native library.- Parameters:
libname- the name of the library.- Returns:
- a platform-dependent native library name.
- Throws:
NullPointerException- iflibnameisnull- Since:
- 1.2
- See Also: