Класс System
public final class System extends Object
System содержит несколько полезных полей и методов класса. Его нельзя создать. К средствам, предоставляемым классом System, относятся потоки стандартного ввода, стандартного вывода и вывода ошибок; доступ к внешним свойствам и переменным среды; способ загрузки файлов и библиотек; и вспомогательный метод для быстрого копирования части массива.- С момента:
- 1.0
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static interface |
System.Logger |
System.Logger экземпляры записывают сообщения, которые будут перенаправлены в базовый фреймворк ведения журналов, используемый LoggerFinder. |
static class |
System.LoggerFinder |
Служба LoggerFinder отвечает за создание, управление и настройку логгеров в базовом фреймворке, который она использует. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final PrintStream |
err |
Поток "стандартного" вывода ошибок. |
static final InputStream |
in |
Поток "стандартного" ввода. |
static final PrintStream |
out |
Поток "стандартного" вывода. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static void |
arraycopy |
Копирует массив из указанного исходного массива, начиная с указанной позиции, в указанную позицию целевого массива. |
static String |
clearProperty |
Удаляет системное свойство, указанное заданным ключом. |
static Console |
console() |
Возвращает уникальный объект Console, связанный с текущей виртуальной машиной Java, если таковой имеется. |
static long |
currentTimeMillis() |
Возвращает текущее время в миллисекундах. |
static void |
exit |
Завершает выполнение текущей виртуальной машины Java. |
static void |
gc() |
Выполняет сборщик мусора в виртуальной машине Java. |
static Map<String, |
getenv() |
Возвращает неизменяемую карту-представление текущей системной среды. |
static String |
getenv |
Получает значение указанной переменной среды. |
static System.Logger |
getLogger |
Возвращает экземпляр Logger для использования вызывающим методом. |
static System.Logger |
getLogger |
Возвращает локализованный экземпляр Logger для использования вызывающим методом. |
static Properties |
getProperties() |
Определяет текущие системные свойства. |
static String |
getProperty |
Получает системное свойство, указанное заданным ключом. |
static String |
getProperty |
Получает системное свойство, указанное заданным ключом. |
static SecurityManager |
getSecurityManager() |
Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии. Этот метод полезен только в сочетании с менеджером безопасности, который устарел и может быть удален в будущей версии. |
static int |
identityHashCode |
Возвращает тот же хэш-код для данного объекта, что и возвращался бы методом hashCode() по умолчанию, независимо от того, переопределяет ли класс данного объекта метод hashCode() или нет. |
static Channel |
inheritedChannel() |
Возвращает канал, унаследованный от сущности, которая создала эту виртуальную машину Java. |
static String |
lineSeparator() |
Возвращает строку разделителя строк, зависящую от системы. |
static void |
load |
Загружает системную библиотеку, указанную аргументом filename. |
static void |
loadLibrary |
Загружает системную библиотеку, указанную аргументом libname. |
static String |
mapLibraryName |
Преобразует имя библиотеки в платформозависимую строку, представляющую системную библиотеку. |
static long |
nanoTime() |
Возвращает текущее значение источника времени с высокой точностью виртуальной машины Java, работающей в наносекундах. |
static void |
runFinalization() |
Выполняет методы завершения для любых объектов, ожидающих завершения. |
static void |
setErr |
Переназначает поток "стандартного" вывода ошибок. |
static void |
setIn |
Переназначает поток "стандартного" ввода. |
static void |
setOut |
Переназначает поток "стандартного" вывода. |
static void |
setProperties |
Устанавливает системные свойства в соответствии с аргументом Properties. |
static String |
setProperty |
Устанавливает системное свойство, указанное заданным ключом. |
static void |
setSecurityManager |
Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии. Этот метод полезен только в сочетании с менеджером безопасности, который устарел и может быть удален в будущей версии. |
Подробное описание полей
in
public static final InputStream in
InputStreamReader, для кодировки следует использовать Console.charset(), или рассмотрите использование Console.reader().- См. также:
out
public static final PrintStream out
Console.charset(), если Console существует, в противном случае Charset.defaultCharset(). Для простых автономных Java-приложений типичный способ записи строки выходных данных выглядит так:
System.out.println(data)
См. методы println в классе PrintStream.
- См. также:
-
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)Console.charset()Charset.defaultCharset()
err
public static final PrintStream err
Обычно этот поток соответствует выводу на дисплей или другому месту назначения вывода, указанному средой хоста или пользователем. По соглашению, этот поток вывода используется для отображения сообщений об ошибках или другой информации, которая должна немедленно привлечь внимание пользователя, даже если основной поток вывода, значение переменной out, перенаправлен на файл или другое место назначения, которое обычно не отслеживается непрерывно. Кодировка, используемая при преобразовании символов в байты, эквивалентна Console.charset(), если Console существует, в противном случае Charset.defaultCharset().
- См. также:
Подробное описание методов
setIn
public static void setIn(InputStream in)
checkPermission с разрешением RuntimePermission("setIO") для проверки возможности переопределения стандартного потока ввода.- Параметры:
-
in- новый стандартный поток ввода. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает переопределение стандартного потока ввода. - С:
- 1.1
- См. также:
setOut
public static void setOut(PrintStream out)
checkPermission с разрешением RuntimePermission("setIO") для проверки возможности переопределения стандартного потока вывода.- Параметры:
-
out- новый стандартный поток вывода - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает переопределение стандартного потока вывода. - С:
- 1.1
- См. также:
setErr
public static void setErr(PrintStream err)
checkPermission с разрешением RuntimePermission("setIO") для проверки возможности переопределения стандартного потока вывода ошибок.- Параметры:
-
err- новый стандартный поток вывода ошибок. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает переопределение стандартного потока вывода ошибок. - С:
- 1.1
- См. также:
console
public static Console console()
Console, связанный с текущей виртуальной машиной Java, если таковой имеется.- Возвращает:
- Системный консоль, если имеется, в противном случае
null. - С:
- 1.6
inheritedChannel
public static Channel inheritedChannel() throws IOException
inheritedChannel системного глобального объекта SelectorProvider. В дополнение к ориентированным на сеть каналам, описанным в inheritedChannel, этот метод в будущем может возвращать другие типы каналов.
- Возвращает:
- Унаследованный канал, если имеется, в противном случае
null. - Исключения:
-
IOException- Если произошла ошибка ввода-вывода -
SecurityException- Если менеджер безопасности присутствует и не разрешает доступ к каналу. - С:
- 1.5
setSecurityManager
@Deprecated(since="17", forRemoval=true) public static void setSecurityManager(SecurityManager sm)
checkPermission с разрешением RuntimePermission("setSecurityManager") для проверки возможности замены существующего менеджера безопасности. Это может привести к выбрасыванию SecurityException. В противном случае, аргумент устанавливается в качестве текущего менеджера безопасности. Если аргумент равен null и менеджер безопасности не был установлен, то никаких действий не выполняется и метод просто возвращается.
- Примечание для реализации:
- В реализации JDK, если виртуальная машина Java запускается со системной переменной
java.security.manager, установленной на специальный токен "disallow", то методsetSecurityManagerне может использоваться для установки менеджера безопасности. - Параметры:
-
sm- менеджер безопасности илиnull - Исключения:
-
SecurityException- если менеджер безопасности уже установлен и его методcheckPermissionне разрешает его замену -
UnsupportedOperationException- еслиsmне равен null и установка менеджера безопасности не разрешена динамически - См. также:
getSecurityManager
@Deprecated(since="17", forRemoval=true) public static SecurityManager getSecurityManager()
- Returns:
- if a security manager has already been established for the current application, then that security manager is returned; otherwise,
nullis returned. - See Also:
currentTimeMillis
public static long currentTimeMillis()
See the description of the class Date for a 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()
This method provides nanosecond precision, but not necessarily nanosecond resolution (that is, how frequently the value changes) - no guarantees are made except that the resolution is at least as good as that of currentTimeMillis().
Differences in successive calls that span greater than approximately 292 years (263 nanoseconds) will not correctly compute elapsed time due to numerical overflow.
The values returned by this method become meaningful only when the difference between two such values, obtained within the same instance 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
if (System.nanoTime() - startTime >= timeoutNanos) ... instead of
if (System.nanoTime() >= startTime + timeoutNanos) ... because of the possibility of numerical overflow.- Returns:
- the current value of the running Java Virtual Machine's high-resolution time source, in nanoseconds
- Since:
- 1.5
arraycopy
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src to the destination array referenced by dest. The number of components copied is equal to the length argument. The components at positions srcPos through srcPos+length-1 in the source array are copied into positions destPos through destPos+length-1, respectively, of the destination array. If the src and dest arguments refer to the same array object, then the copying is performed as if the components at positions srcPos through srcPos+length-1 were first copied to a temporary array with length components and then the contents of the temporary array were copied into positions destPos through destPos+length-1 of the destination array.
If dest is null, then a NullPointerException is thrown.
If src is null, then a NullPointerException is thrown and the destination array is not modified.
Otherwise, if any of the following is true, an ArrayStoreException is thrown and the destination is not 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 IndexOutOfBoundsException is thrown 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 from position srcPos through srcPos+length-1 cannot be converted to the component type of the destination array by assignment conversion, an ArrayStoreException is thrown. In this case, let k be the smallest nonnegative integer less than length such that src[srcPos+k] cannot be converted to the component type of the destination array; when the exception is thrown, source array components from positions srcPos through srcPos+k-1 will already have been copied to destination array positions destPos through destPos+k-1 and no other positions of the destination array will have been modified. (Because of the restrictions already itemized, this paragraph effectively applies only to the situation where both arrays 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.
identityHashCode
public static int identityHashCode(Object x)
- Parameters:
-
x- object for which the hashCode is to be calculated - Returns:
- the hashCode
- Since:
- 1.1
- See Also:
getProperties
public static Properties getProperties()
checkPropertiesAccess без аргументов. Это может привести к исключению безопасности. Текущий набор свойств системы для использования методом getProperty(String) возвращается в виде объекта Properties. Если текущего набора свойств системы нет, сначала создается и инициализируется набор свойств системы. Этот набор свойств системы включает значение для каждого из следующих ключей, если описание соответствующего значения не указывает, что значение является необязательным.
| Ключ | Описание связанного значения |
|---|---|
java.version | Версия Java Runtime Environment, которая может быть интерпретирована как Runtime.Version
|
java.version.date | Дата версии Java Runtime Environment в формате ISO-8601 ГГГГ-ММ-ДД, которая может быть интерпретирована как LocalDate
|
java.vendor | Производитель Java Runtime Environment |
java.vendor.url | URL производителя Java |
java.vendor.version | Версия производителя Java (необязательно) |
java.home | Директория установки Java |
java.vm.specification.version | Версия спецификации Java Virtual Machine, значением которой является элемент feature версии runtime |
java.vm.specification.vendor | Производитель спецификации Java Virtual Machine |
java.vm.specification.name | Имя спецификации Java Virtual Machine |
java.vm.version | Версия реализации Java Virtual Machine, которая может быть интерпретирована как Runtime.Version
|
java.vm.vendor | Производитель реализации Java Virtual Machine |
java.vm.name | Имя реализации Java Virtual Machine |
java.specification.version | Версия спецификации Java Runtime Environment, значением которой является элемент feature версии runtime |
java.specification.vendor | Производитель спецификации Java Runtime Environment |
java.specification.name | Имя спецификации Java Runtime Environment |
java.class.version | Номер версии формата Java-классов |
java.class.path | Путь к пути класса Java (см. ClassLoader.getSystemClassLoader() для получения подробностей) |
java.library.path | Список путей для поиска при загрузке библиотек |
java.io.tmpdir | Путь к временным файлам по умолчанию |
java.compiler | Имя JIT-компилятора для использования |
os.name | Имя операционной системы |
os.arch | Архитектура операционной системы |
os.version | Версия операционной системы |
file.separator | Разделитель файлов ("/" в UNIX) |
path.separator | Разделитель путей (":" в UNIX) |
line.separator | Разделитель строк ("\n" в UNIX) |
user.name | Имя учетной записи пользователя |
user.home | Домашний каталог пользователя |
user.dir | Текущая рабочая директория пользователя |
native.encoding | Имя кодировки символов, полученное из среды хоста и/или настроек пользователя. Установка этого свойства системы не имеет эффекта. |
Несколько путей в значении свойства системы разделяются разделителем путей платформы.
Обратите внимание, что даже если менеджер безопасности не разрешает операцию getProperties, он может разрешить операцию getProperty(String).
- API Note:
-
Изменение стандартного свойства системы может привести к непредсказуемым результатам, если не указано иное. Значения свойств могут кэшироваться во время инициализации или при первом использовании. Установка стандартного свойства после инициализации с помощью
getProperties(),setProperties(Properties),setProperty(String, String)илиclearProperty(String)может не иметь желаемого эффекта. - Implementation Note:
- В дополнение к стандартным свойствам системы, свойства системы могут включать следующие ключи:
Ключ Описание связанного значения jdk.module.pathПуть к модулю приложения jdk.module.upgrade.pathПуть к модулю обновления jdk.module.mainИмя модуля по умолчанию/главного модуля jdk.module.main.classИмя основного класса начального модуля - Возвращает:
- свойства системы
- Бросает:
-
SecurityException- если существует менеджер безопасности, и его методcheckPropertiesAccessне разрешает доступ к свойствам системы. - См. также:
lineSeparator
public static String lineSeparator()
line.separator. В системах UNIX она возвращает "\n"; в системах Microsoft Windows — "\r\n".
- Возвращает:
- строку разделителя строк, зависящую от системы
- С:
- 1.7
setProperties
public static void setProperties(Properties props)
Properties. Сначала, если существует менеджер безопасности, вызывается его метод checkPropertiesAccess без аргументов. Это может привести к исключению безопасности. Аргумент становится текущим набором свойств системы для использования методом getProperty(String). Если аргумент null, текущий набор свойств системы забывается.
- API Note:
- Изменение стандартного свойства системы может привести к непредсказуемым результатам, если не указано иное. Подробнее см. getProperties.
- Параметры:
-
props- новые свойства системы. - Бросает:
-
SecurityException- если существует менеджер безопасности, и его методcheckPropertiesAccessне разрешает доступ к свойствам системы. - См. также:
getProperty
public static String getProperty(String key)
checkPropertyAccess с ключом в качестве аргумента. Это может привести к SecurityException. Если текущего набора свойств системы нет, набор свойств системы сначала создается и инициализируется так же, как и для метода getProperties.
- API Note:
- Изменение стандартного свойства системы может привести к непредсказуемым результатам, если не указано иное. Подробнее см. getProperties.
- Параметры:
-
key- имя свойства системы. - Возвращает:
- строковое значение свойства системы или
null, если свойства с таким ключом нет. - Бросает:
-
SecurityException- если существует менеджер безопасности, и его методcheckPropertyAccessне разрешает доступ к указанному свойству системы. -
NullPointerException- еслиkeyравноnull. -
IllegalArgumentException- еслиkeyпусто. - См. также:
getProperty
public static String getProperty(String key, String def)
checkPropertyAccess с аргументом key.
Если текущий набор системных свойств не задан, набор системных свойств сначала создаётся и инициализируется так же, как и для метода getProperties.
- Parameters:
-
key- имя системной переменной. -
def- значение по умолчанию. - Returns:
- строковое значение системной переменной или значение по умолчанию, если переменной с таким ключом нет.
- Throws:
-
SecurityException- если менеджер безопасности существует и его методcheckPropertyAccessне разрешает доступ к указанной системной переменной. -
NullPointerException- еслиkeyимеет значениеnull. -
IllegalArgumentException- еслиkeyпусто. - See Also:
setProperty
public static String setProperty(String key, String value)
SecurityManager.checkPermission с разрешением PropertyPermission(key, "write"). Это может привести к исключению SecurityException. Если исключение не возникает, указанная переменная устанавливается в заданное значение.
- API Note:
- Изменение стандартной системной переменной может иметь непредсказуемые результаты, если не указано иное. См. getProperties для получения подробностей.
- Parameters:
-
key- имя системной переменной. -
value- значение системной переменной. - Returns:
- предыдущее значение системной переменной или
null, если его не было. - Throws:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает установку указанной переменной. -
NullPointerException- еслиkeyилиvalueпусто. -
IllegalArgumentException- еслиkeyпусто. - Since:
- 1.2
- See Also:
clearProperty
public static String clearProperty(String key)
SecurityManager.checkPermission с разрешением PropertyPermission(key, "write"). Это может привести к исключению SecurityException. Если исключение не возникает, указанная переменная удаляется.
- API Note:
- Изменение стандартной системной переменной может иметь непредсказуемые результаты, если не указано иное. См. метод getProperties для получения подробностей.
- Parameters:
-
key- имя системной переменной, подлежащей удалению. - Returns:
- предыдущее строковое значение системной переменной или
null, если переменной с таким ключом не было. - Throws:
-
SecurityException- если менеджер безопасности существует и его методcheckPropertyAccessне разрешает доступ к указанной системной переменной. -
NullPointerException- еслиkeyпусто. -
IllegalArgumentException- еслиkeyпусто. - Since:
- 1.5
- See Also:
getenv
public static String getenv(String name)
Если менеджер безопасности существует, вызывается его метод checkPermission с разрешением RuntimePermission("getenv."+name). Это может привести к возникновению исключения SecurityException. Если исключение не возникает, возвращается значение переменной name.
Системные свойства и переменные среды — оба концептуально отображения между именами и значениями. Оба механизма могут использоваться для передачи пользовательских данных в процесс Java. Переменные среды имеют более глобальное влияние, так как они видны всем потомкам процесса, который их определяет, а не только непосредственному подпроцессу Java. У них могут быть незначительно разные семантики, такие как отсутствие чувствительности к регистру, на разных операционных системах. По этим причинам переменные среды с большей вероятностью имеют непреднамеренные побочные эффекты. Лучше использовать системные свойства, где это возможно. Переменные среды следует использовать, когда требуется глобальное воздействие или когда интерфейс внешней системы требует переменной среды (например, PATH).
В системах UNIX регистр букв name обычно имеет значение, в то время как в системах Microsoft Windows обычно нет. Например, выражение System.getenv("FOO").equals(System.getenv("foo")), скорее всего, будет истинным в системах Microsoft Windows.
- Parameters:
-
name- имя переменной среды - Returns:
- строковое значение переменной или
null, если переменная не определена в системной среде - Throws:
-
NullPointerException- еслиnameпусто -
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает доступ к переменной средыname - See Also:
getenv
public static Map<String,String> getenv()
Если система не поддерживает переменные среды, возвращается пустая карта.
Возвращаемая карта никогда не будет содержать нулевые ключи или значения. Попытка запросить наличие нулевого ключа или значения выбросит NullPointerException. Попытка запросить наличие ключа или значения, которое не является объектом типа String, выбросит ClassCastException.
Возвращаемая карта и её представления коллекций могут не подчиняться общему соглашению методов Object.equals(java.lang.Object) и Object.hashCode().
Возвращаемая карта обычно чувствительна к регистру на всех платформах.
Если менеджер безопасности существует, вызывается его метод checkPermission с разрешением RuntimePermission("getenv.*"). Это может привести к возникновению исключения SecurityException.
При передаче информации в подпроцесс Java, системные свойства обычно предпочтительнее переменных среды.
- Returns:
- среда как отображение имен переменных на значения
- Throws:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает доступ к среде процесса - Since:
- 1.5
- See Also:
getLogger
public static System.Logger getLogger(String name)
Logger для использования вызывающим методом.- Примечание API:
- Этот метод может отложить вызов метода
LoggerFinder.getLoggerдля создания фактического логгера, предоставляемого бэкендом ведения журналов, например, чтобы логгеры можно было получить во время инициализации системы. - Требования к реализации:
- Экземпляры, возвращаемые этим методом, передают сообщения логгерам, полученным путём вызова
LoggerFinder.getLogger(name, module), гдеmodule— модуль вызывающего метода. В тех случаях, когдаSystem.getLoggerвызывается из контекста, где в стеке нет кадра вызывающего метода (например, при прямом вызове из прикреплённого к JNI потока), выбрасывается исключениеIllegalCallerException. Чтобы получить логгер в таком контексте, используйте вспомогательный класс, который будет неявно идентифицироваться как вызывающий, или используйте системный методLoggerFinderдля получения логгера вместо этого. Обратите внимание, что последний способ может привести к ранней инициализации системы ведения журналов. - Параметры:
-
name— имя логгера. - Возвращает:
- экземпляр
System.Logger, который может использоваться вызывающим классом. - Исключения:
-
NullPointerException— еслиnameявляетсяnull. -
IllegalCallerException— если в стеке нет кадра вызывающего метода Java. - С:
- 9
getLogger
public static System.Logger getLogger(String name, ResourceBundle bundle)
Logger для использования вызывающим методом. Возвращаемый логгер будет использовать предоставленный пул ресурсов для локализации сообщений.- Примечание API:
- Этот метод предназначен для использования после полной инициализации системы. Этот метод может запустить немедленную загрузку и инициализацию сервиса
System.LoggerFinder, что может вызвать проблемы, если Java Runtime ещё не готов к инициализации конкретной реализации сервиса. Системные классы, которые могут загружаться на ранней стадии запуска и нуждаются в локализованных сообщениях, должны создавать логгер с помощьюgetLogger(java.lang.String), а затем использовать методы логгирования, которые принимают пул ресурсов в качестве параметра. - Требования к реализации:
- Возвращаемый логгер будет выполнять локализация сообщений, как указано в
LoggerFinder.getLocalizedLogger(name, bundle, module), гдеmodule— модуль вызывающего метода. В тех случаях, когдаSystem.getLoggerвызывается из контекста, где в стеке нет кадра вызывающего метода (например, при прямом вызове из прикреплённого к JNI потока), выбрасывается исключениеIllegalCallerException. Чтобы получить логгер в таком контексте, используйте вспомогательный класс, который будет неявно идентифицироваться как вызывающий, или используйте системный методLoggerFinderдля получения логгера вместо этого. Обратите внимание, что последний способ может привести к ранней инициализации системы ведения журналов. - Параметры:
-
name— имя логгера. -
bundle— пул ресурсов. - Возвращает:
- экземпляр
System.Logger, который будет использовать предоставленный пул ресурсов для локализации сообщений. - Исключения:
-
NullPointerException— еслиnameявляетсяnullилиbundleявляетсяnull. -
IllegalCallerException— если в стеке нет кадра вызывающего метода Java. - С:
- 9
exit
public static void exit(int status)
Этот метод вызывает метод exit в классе Runtime. Этот метод никогда не возвращается успешно.
Вызов System.exit(n) эквивалентен вызову:
Runtime.getRuntime().exit(n)
- Параметры:
-
status— код завершения. - Исключения:
-
SecurityException— если существует менеджер безопасности, и его методcheckExitне разрешает завершение с указанным кодом. - См. также:
gc
public static void gc()
Вызов метода gc предполагает, что Java виртуальная машина приложит усилия для переработки неиспользуемых объектов, чтобы освободить занимаемую ими память для повторного использования Java виртуальной машиной. После возвращения из метода вызова, Java виртуальная машина сделала всё возможное, чтобы освободить пространство от всех неиспользуемых объектов. Нет гарантии, что эти усилия приведут к переработке определённого количества неиспользуемых объектов, освобождению определённого объёма памяти или завершению в любой момент до возврата из метода или вообще. Также нет гарантии, что эти усилия определят изменение достижимости какого-либо определённого числа объектов, или что любое определённое число объектов Reference будет очищено и помещено в очередь.
Вызов System.gc() эквивалентен вызову:
Runtime.getRuntime().gc()
- См. также:
runFinalization
public static void runFinalization()
finalize объектов, которые были признаны устаревшими, но чьи методы finalize ещё не были выполнены. После возвращения из метода вызова, Java виртуальная машина сделала всё возможное, чтобы завершить все ожидающие завершения. Вызов System.runFinalization() эквивалентен вызову:
Runtime.getRuntime().runFinalization()
- См. также:
load
public static void load(String filename)
- Параметры:
-
filename— файл для загрузки. - Исключения:
-
SecurityException— если существует менеджер безопасности, и его методcheckLinkне разрешает загрузку указанной динамической библиотеки -
UnsatisfiedLinkError— если имя файла не является абсолютным именем пути, нативная библиотека не статически связана с VM или библиотека не может быть отображена в нативную библиотечную картинку системой-хостом. -
NullPointerException— еслиfilenameравноnull - См. также:
loadLibrary
public static void loadLibrary(String libname)
libname. Аргумент libname не должен содержать никаких платформенно-специфических префиксов, расширений файлов или путей. Если нативная библиотека, названная libname, статически связана с VM, тогда вызывается функция JNI_OnLoad_libname , экспортируемая библиотекой. См. Спецификацию JNI для получения более подробной информации. В противном случае, имя библиотеки загружается из системного расположения библиотек и отображается в нативную библиотечную картинку способом, зависящим от реализации. Вызов System.loadLibrary(name) эквивалентен вызову
Runtime.getRuntime().loadLibrary(name)
- Параметры:
-
libname— имя библиотеки. - Исключения:
-
SecurityException— если существует менеджер безопасности, и его методcheckLinkне разрешает загрузку указанной динамической библиотеки -
UnsatisfiedLinkError— если аргумент libname содержит путь к файлу, нативная библиотека не статически связана с VM или библиотека не может быть отображена в нативную библиотечную картинку системой-хостом. -
NullPointerException— еслиlibnameравноnull - См. также:
mapLibraryName
public static String mapLibraryName(String libname)
- Параметры:
-
libname- имя библиотеки. - Возвращает:
- имя нативной библиотеки, зависящее от платформы.
- Исключения:
-
NullPointerException- еслиlibnameявляетсяnull - С:
- 1.2
- См. также:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/System.html