Класс System
- java.lang.Object
-
- java.lang.System
public final class System extends Object
Класс System содержит несколько полезных полей и методов класса. Его нельзя создать (инстанцировать).
Класс System предоставляет стандартные потоки ввода, вывода и ошибок; доступ к внешним свойствам и переменным среды; возможность загрузки файлов и библиотек; а также утилиту для быстрого копирования части массива.
- Since:
- JDK1.0
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static PrintStream |
err Поток "стандартного" вывода ошибок. |
static InputStream |
in Поток "стандартного" ввода. |
static PrintStream |
out Поток "стандартного" вывода. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static void |
arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length) Копирует массив из указанного исходного массива, начиная с указанной позиции, в указанную позицию целевого массива. |
static String |
clearProperty(String key) Удаляет системное свойство, указанное заданным ключом. |
static Console |
console() Возвращает уникальный объект |
static long |
currentTimeMillis() Возвращает текущее время в миллисекундах. |
static void |
exit(int status) Завершает выполнение текущей виртуальной машины Java. |
static void |
gc() Запускает сборщик мусора. |
static Map<String,String> |
getenv() Возвращает неизменяемый вид карты системы окружения в виде строки. |
static String |
getenv(String name) Получает значение указанной переменной среды. |
static Properties |
getProperties() Определяет текущие системные свойства. |
static String |
getProperty(String key) Получает системное свойство по указанному ключу. |
static String |
getProperty(String key,
String def) Получает системное свойство по указанному ключу. |
static SecurityManager |
getSecurityManager() Получает системный интерфейс безопасности. |
static int |
identityHashCode(Object x) Возвращает тот же хэш-код для данного объекта, что и метод hashCode() по умолчанию, независимо от того, переопределяет ли класс данного объекта метод hashCode() или нет. |
static Channel |
inheritedChannel() Возвращает канал, унаследованный от сущности, создавшей эту виртуальную машину Java. |
static String |
lineSeparator() Возвращает строку разделителя строк, зависящую от системы. |
static void |
load(String filename) Загружает системную библиотеку, указанную в аргументе filename. |
static void |
loadLibrary(String libname) Загружает системную библиотеку, указанную в аргументе |
static String |
mapLibraryName(String libname) Преобразует имя библиотеки в строку, специфичную для платформы, представляющую системную библиотеку. |
static long |
nanoTime() Возвращает текущее значение источника высокоточного времени виртуальной машины Java, работающей в наносекундах. |
static void |
runFinalization() Выполняет методы завершения для всех объектов, ожидающих завершения. |
static void |
runFinalizersOnExit(boolean value) Deprecated. Этот метод потенциально небезопасен. Может привести к вызову finalizers активных объектов во время одновременной модификации этих объектов другими потоками, что приведет к непредсказуемому поведению или тупику. |
static void |
setErr(PrintStream err) Переназначает поток "стандартного" вывода ошибок. |
static void |
setIn(InputStream in) Переназначает поток "стандартного" ввода. |
static void |
setOut(PrintStream out) Переназначает поток "стандартного" вывода. |
static void |
setProperties(Properties props) Устанавливает системные свойства в аргумент |
static String |
setProperty(String key,
String value) Устанавливает системное свойство по указанному ключу. |
static void |
setSecurityManager(SecurityManager s) Устанавливает безопасность системы. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
in
public static final InputStream in
Стандартный поток ввода. Этот поток уже открыт и готов для получения входных данных. Как правило, этот поток соответствует вводу с клавиатуры или другому источнику ввода, указанному средой выполнения или пользователем.
out
public static final PrintStream out
Стандартный поток вывода. Этот поток уже открыт и готов для приема выходных данных. Как правило, этот поток соответствует выводу на экран или другому назначению вывода, указанному средой выполнения или пользователем.
Для простых автономных приложений 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)
err
public static final PrintStream err
Стандартный поток вывода ошибок. Этот поток уже открыт и готов для приема выходных данных.
Как правило, этот поток соответствует выводу на экран или другому назначению вывода, указанному средой выполнения или пользователем. По соглашению, этот поток вывода используется для отображения сообщений об ошибках или другой информации, которая должна привлечь немедленное внимание пользователя, даже если основной поток вывода, значение переменной out, был перенаправлен в файл или другое место, которое обычно не отслеживается непрерывно.
Методы
setIn
public static void setIn(InputStream in)
Переназначает стандартный поток ввода.
Сначала, если установлен менеджер безопасности, вызывается его метод checkPermission с разрешением RuntimePermission("setIO"), чтобы проверить, разрешено ли переназначение стандартного потока ввода.
- Параметры:
-
in- новый стандартный поток ввода. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает переназначение стандартного потока ввода. - С:
- JDK1.1
- См. также:
-
SecurityManager.checkPermission(java.security.Permission),RuntimePermission
setOut
public static void setOut(PrintStream out)
Переназначает стандартный поток вывода.
Сначала, если установлен менеджер безопасности, вызывается его метод checkPermission с разрешением RuntimePermission("setIO"), чтобы проверить, разрешено ли переназначение стандартного потока вывода.
- Параметры:
-
out- новый стандартный поток вывода - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает переназначение стандартного потока вывода. - С:
- JDK1.1
- См. также:
-
SecurityManager.checkPermission(java.security.Permission),RuntimePermission
setErr
public static void setErr(PrintStream err)
Переназначает стандартный поток вывода ошибок.
Сначала, если установлен менеджер безопасности, вызывается его метод checkPermission с разрешением RuntimePermission("setIO"), чтобы проверить, разрешено ли переназначение стандартного потока вывода ошибок.
- Параметры:
-
err- новый стандартный поток вывода ошибок. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает переназначение стандартного потока вывода ошибок. - С:
- JDK1.1
- См. также:
-
SecurityManager.checkPermission(java.security.Permission),RuntimePermission
console
public static Console console()
Возвращает уникальный объект Console, связанный с текущей виртуальной машиной Java, если таковой имеется.
- Возвращает:
- Системную консоль, если имеется, иначе
null. - С:
- 1.6
inheritedChannel
public static Channel inheritedChannel()
throws IOException Возвращает канал, унаследованный от сущности, которая создала эту виртуальную машину Java.
Этот метод возвращает канал, полученный путем вызова метода inheritedChannel объекта системного по умолчанию SelectorProvider.
Помимо ориентированных на сеть каналов, описанных в inheritedChannel, этот метод может возвращать и другие виды каналов в будущем.
- Возвращает:
- Унаследованный канал, если имеется, иначе
null. - Исключения:
-
IOException- Если произошла ошибка ввода-вывода -
SecurityException- Если менеджер безопасности присутствует и не разрешает доступ к каналу. - С:
- 1.5
setSecurityManager
public static void setSecurityManager(SecurityManager s)
Устанавливает системную безопасность.
Если менеджер безопасности уже установлен, этот метод сначала вызывает метод менеджера безопасности checkPermission с разрешением RuntimePermission("setSecurityManager"), чтобы убедиться, что разрешено заменить существующий менеджер безопасности. Это может привести к выбрасыванию SecurityException.
В противном случае аргумент устанавливается в качестве текущего менеджера безопасности. Если аргумент равен null и менеджер безопасности не был установлен, то никаких действий не предпринимается, и метод просто возвращает значение.
- Параметры:
-
s- менеджер безопасности. - Исключения:
-
SecurityException- если менеджер безопасности уже установлен и его методcheckPermissionне разрешает его замену. - См. также:
-
getSecurityManager(),SecurityManager.checkPermission(java.security.Permission),RuntimePermission
getSecurityManager
public static SecurityManager getSecurityManager()
Получает системный интерфейс безопасности.
- Возвращает:
- Если для текущего приложения уже установлен менеджер безопасности, то возвращается этот менеджер; в противном случае возвращается
null. - См. также:
setSecurityManager(java.lang.SecurityManager)
currentTimeMillis
public static long currentTimeMillis()
Возвращает текущее время в миллисекундах. Обратите внимание, что, хотя единицей времени возвращаемого значения является миллисекунда, точность значения зависит от базовой операционной системы и может быть больше. Например, во многих операционных системах время измеряется единицами десятых долей миллисекунды.
См. описание класса Date для обсуждения небольших расхождений, которые могут возникнуть между «временем компьютера» и координированным всемирным временем (UTC).
- Возвращает:
- разница, измеренная в миллисекундах, между текущим временем и полуночью 1 января 1970 года по всемирному координированному времени (UTC).
- См. также:
Date
nanoTime
public static long nanoTime()
Возвращает текущее значение источника времени высокой точности работающей виртуальной машины Java в наносекундах.
Этот метод может использоваться только для измерения прошедшего времени и не связан ни с каким другим понятием системного или реального времени. Возвращаемое значение представляет собой наносекунды с момента некоторого фиксированного, но произвольного исходного времени (возможно, в будущем, поэтому значения могут быть отрицательными). Один и тот же исход используется для всех вызовов этого метода в экземпляре виртуальной машины Java; другие экземпляры виртуальных машин, вероятно, будут использовать другой исход.
Этот метод обеспечивает точность в наносекундах, но не обязательно разрешение в наносекундах (то есть, как часто меняется значение) — никаких гарантий не дается, кроме того, что разрешение не хуже, чем у currentTimeMillis().
Разницы в последующих вызовах, которые охватывают более приблизительно 292 года (263 наносекунд), не будут правильно вычислять прошедшее время из-за переполнения.
Значения, возвращаемые этим методом, становятся осмысленными только при вычислении разницы между двумя такими значениями, полученными в одном экземпляре виртуальной машины Java.
Например, для измерения того, сколько времени занимает выполнение некоторого кода:
long startTime = System.nanoTime(); // ... the code being measured ... long estimatedTime = System.nanoTime() - startTime;
Для сравнения двух значений nanoTime
long t0 = System.nanoTime(); ... long t1 = System.nanoTime();следует использовать
t1 - t0 < 0, а не t1 < t0, из-за возможности переполнения.- Возвращает:
- текущее значение источника времени высокой точности работающей виртуальной машины Java в наносекундах
- С:
- 1.5
arraycopy
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length) Копирует массив из указанного исходного массива, начиная с указанной позиции, в указанную позицию целевого массива. Подпоследовательность элементов массива копируется из исходного массива, на который ссылается src, в целевой массив, на который ссылается dest. Количество скопированных элементов равно аргументу length. Элементы с позициями srcPos по srcPos+length-1 в исходном массиве копируются соответственно в позиции destPos по destPos+length-1 целевого массива.
Если аргументы src и dest ссылаются на один и тот же объект массива, то копирование выполняется так, как если бы элементы с позициями srcPos по srcPos+length-1 были сначала скопированы в временный массив с length элементами, а затем содержимое временного массива было скопировано в позиции destPos по destPos+length-1 целевого массива.
Если dest равно null, то выбрасывается исключение NullPointerException.
Если src равно null, то выбрасывается исключение NullPointerException, и целевой массив не изменяется.
В противном случае, если выполняется любое из следующих условий, выбрасывается исключение ArrayStoreException, и целевой массив не изменяется:
- Аргумент
srcссылается на объект, который не является массивом. - Аргумент
destссылается на объект, который не является массивом. - Аргумент
srcи аргументdestссылаются на массивы, типы элементов которых являются разными примитивными типами. - Аргумент
srcссылается на массив с примитивным типом элементов, а аргументdestссылается на массив со ссылочным типом элементов. - Аргумент
srcссылается на массив со ссылочным типом элементов, а аргументdestссылается на массив с примитивным типом элементов.
В противном случае, если выполняется любое из следующих условий, выбрасывается исключение IndexOutOfBoundsException, и целевой массив не изменяется:
- Аргумент
srcPosотрицательный. - Аргумент
destPosотрицательный. - Аргумент
lengthотрицательный. -
srcPos+lengthбольше, чемsrc.length, длина исходного массива. -
destPos+lengthбольше, чемdest.length, длина целевого массива.
В противном случае, если любой фактический элемент исходного массива с позицией srcPos по srcPos+length-1 не может быть преобразован в тип элемента целевого массива посредством присваивающего преобразования, выбрасывается исключение ArrayStoreException. В этом случае пусть k — наименьшее неотрицательное целое число, меньшее чем длина, такое что src[srcPos+k] не может быть преобразовано в тип элемента целевого массива; при выбрасывании исключения элементы исходного массива с позиций srcPos по srcPos+k-1 уже будут скопированы в позиции целевого массива destPos по destPos+k-1, а другие позиции целевого массива не изменятся. (Из-за уже перечисленных ограничений этот абзац фактически применим только к ситуации, когда оба массива имеют типы элементов, которые являются ссылочными типами.)
- Параметры:
-
src- исходный массив. -
srcPos- начальная позиция в исходном массиве. -
dest- целевой массив. -
destPos- начальная позиция в целевых данных. -
length- количество элементов массива, которые должны быть скопированы. - Исключения:
-
IndexOutOfBoundsException- если копирование приведет к доступу к данным за пределами границ массива. -
ArrayStoreException- если элемент в массивеsrcне мог быть сохранен в массивеdestиз-за несовпадения типов. -
NullPointerException- если либоsrc, либоdestравноnull.
identityHashCode
public static int identityHashCode(Object x)
Возвращает тот же хэш-код для данного объекта, что и вернул бы метод hashCode() по умолчанию, независимо от того, переопределяет ли данный класс hashCode(). Хэш-код для null ссылки равен нулю.
- Параметры:
-
x- объект, для которого необходимо вычислить хэш-код - Возвращает:
- хэш-код
- С:
- JDK1.1
getProperties
public static Properties getProperties()
Определяет текущие системные свойства.
Сначала, если существует менеджер безопасности, вызывается его метод checkPropertiesAccess без аргументов. Это может привести к исключению безопасности.
Текущий набор системных свойств для использования методом getProperty(String) возвращается как объект Properties. Если текущего набора системных свойств нет, то набор системных свойств создаётся и инициализируется. Этот набор системных свойств всегда включает значения для следующих ключей:
| Ключ | Описание связанного значения |
|---|---|
java.version | Версия Java Runtime Environment |
java.vendor | Производитель Java Runtime Environment |
java.vendor.url | URL поставщика Java |
java.home | Директория установки Java |
java.vm.specification.version | Версия спецификации Java Virtual Machine |
java.vm.specification.vendor | Производитель спецификации Java Virtual Machine |
java.vm.specification.name | Имя спецификации Java Virtual Machine |
java.vm.version | Версия реализации Java Virtual Machine |
java.vm.vendor | Поставщик реализации Java Virtual Machine |
java.vm.name | Имя реализации Java Virtual Machine |
java.specification.version | Версия спецификации Java Runtime Environment |
java.specification.vendor | Поставщик спецификации Java Runtime Environment |
java.specification.name | Имя спецификации Java Runtime Environment |
java.class.version | Номер версии формата класса Java |
java.class.path | Путь класса Java |
java.library.path | Список путей для поиска при загрузке библиотек |
java.io.tmpdir | Путь по умолчанию для временных файлов |
java.compiler | Имя используемого JIT-компилятора |
java.ext.dirs | Путь к каталогу или каталогам расширений Устаревшее. Это свойство и механизм, его реализующий, могут быть удалены в будущих версиях. |
os.name | Имя операционной системы |
os.arch | Архитектура операционной системы |
os.version | Версия операционной системы |
file.separator | Разделитель файлов ("/" в UNIX) |
path.separator | Разделитель путей (":" в UNIX) |
line.separator | Разделитель строк ("\n" в UNIX) |
user.name | Имя учетной записи пользователя |
user.home | Домашний каталог пользователя |
user.dir | Текущая рабочая директория пользователя |
Несколько путей в значении системного свойства разделены символом разделителя путей платформы.
Обратите внимание, что даже если менеджер безопасности не разрешает операцию getProperties, он может разрешить операцию getProperty(String).
- Возвращает:
- системные свойства
- Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPropertiesAccessне разрешает доступ к системным свойствам. - См. также:
-
setProperties(java.util.Properties),SecurityException,SecurityManager.checkPropertiesAccess(),Properties
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, то текущий набор системных свойств забывается.
- Параметры:
-
props- новые системные свойства. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPropertiesAccessне разрешает доступ к системным свойствам. - См. также:
-
getProperties(),Properties,SecurityException,SecurityManager.checkPropertiesAccess()
getProperty
public static String getProperty(String key)
Получает системное свойство, указанное заданным ключом.
Сначала, если существует менеджер безопасности, вызывается его метод checkPropertyAccess с ключом в качестве аргумента. Это может привести к исключению SecurityException.
Если текущего набора системных свойств нет, то набор системных свойств сначала создается и инициализируется таким же образом, как и для метода getProperties.
- Параметры:
-
key- имя системного свойства. - Возвращает:
- строковое значение системного свойства или
null, если свойства с данным ключом нет. - Исключения:
-
SecurityException- если существует менеджер безопасности и его методcheckPropertyAccessне разрешает доступ к указанному системному свойству. -
NullPointerException- еслиkeyявляетсяnull. -
IllegalArgumentException- еслиkeyпусто. - См. также:
-
setProperty(java.lang.String, java.lang.String),SecurityException,SecurityManager.checkPropertyAccess(java.lang.String),getProperties()
getProperty
public static String getProperty(String key,
String def) Получает системное свойство, указанное заданным ключом.
Сначала, если менеджер безопасности существует, вызывается его метод checkPropertyAccess с key в качестве аргумента.
Если текущий набор системных свойств отсутствует, сначала создается и инициализируется набор системных свойств таким же образом, как и для метода getProperties.
- Параметры:
-
key- имя системного свойства. -
def- значение по умолчанию. - Возвращает:
- строковое значение системного свойства или значение по умолчанию, если свойства с данным ключом нет.
- Исключения:
-
SecurityException- если существует менеджер безопасности и его методcheckPropertyAccessне разрешает доступ к указанному системному свойству. -
NullPointerException- еслиkeyявляетсяnull. -
IllegalArgumentException- еслиkeyпусто. - См. также:
-
setProperty(java.lang.String, java.lang.String),SecurityManager.checkPropertyAccess(java.lang.String),getProperties()
setProperty
public static String setProperty(String key,
String value) Устанавливает системное свойство, указанное заданным ключом.
Сначала, если менеджер безопасности существует, вызывается его метод SecurityManager.checkPermission с разрешением PropertyPermission(key, "write"). Это может привести к выбрасыванию исключения SecurityException. Если исключение не выбрасывается, указанное свойство устанавливается в заданное значение.
- Параметры:
-
key- имя системного свойства. -
value- значение системного свойства. - Возвращает:
- предыдущее значение системного свойства или
null, если оно отсутствовало. - Исключения:
-
SecurityException- если существует менеджер безопасности и его методcheckPermissionне разрешает установку указанного свойства. -
NullPointerException- еслиkeyилиvalueявляетсяnull. -
IllegalArgumentException- еслиkeyпусто. - С:
- 1.2
- См. также:
-
getProperty(java.lang.String),getProperty(java.lang.String),getProperty(java.lang.String, java.lang.String),PropertyPermission,SecurityManager.checkPermission(java.security.Permission)
clearProperty
public static String clearProperty(String key)
Удаляет системное свойство, указанное заданным ключом.
Сначала, если менеджер безопасности существует, вызывается его метод SecurityManager.checkPermission с разрешением PropertyPermission(key, "write"). Это может привести к выбрасыванию исключения SecurityException. Если исключение не выбрасывается, указанное свойство удаляется.
- Параметры:
-
key- имя системного свойства, которое должно быть удалено. - Возвращает:
- предыдущее строковое значение системного свойства или
null, если свойства с данным ключом нет. - Исключения:
-
SecurityException- если существует менеджер безопасности и его методcheckPropertyAccessне разрешает доступ к указанному системному свойству. -
NullPointerException- еслиkeyявляетсяnull. -
IllegalArgumentException- еслиkeyпусто. - С:
- 1.5
- См. также:
-
getProperty(java.lang.String),setProperty(java.lang.String, java.lang.String),Properties,SecurityException,SecurityManager.checkPropertiesAccess()
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.
- Параметры:
-
name- имя переменной среды - Возвращает:
- строковое значение переменной или
null, если переменная не определена в среде системы - Исключения:
-
NullPointerException- еслиnameявляетсяnull -
SecurityException- если менеджер безопасности существует и его методcheckPermissionне разрешает доступ к переменной средыname - См. также:
-
getenv(),ProcessBuilder.environment()
getenv
public static Map<String,String> getenv()
Возвращает неизменяемое отображение карты строк текущей среды системы. Окружение — это зависящее от системы отображение имен на значения, передаваемое от родительского процесса до дочерних процессов.
Если система не поддерживает переменные среды, возвращается пустая карта.
Возвращаемая карта никогда не будет содержать нулевые ключи или значения. Попытка запросить наличие нулевого ключа или значения вызовет NullPointerException. Попытка запросить наличие ключа или значения, которое не является String, вызовет ClassCastException.
Возвращаемая карта и ее коллекции обычно не подчиняются общему соглашению методов Object.equals(java.lang.Object) и Object.hashCode().
Возвращаемая карта обычно чувствительна к регистру на всех платформах.
Если менеджер безопасности существует, вызывается его метод checkPermission с разрешением . Это может привести к выбрасыванию RuntimePermission("getenv.*")SecurityException.
При передаче информации в подпроцесс Java системные свойства предпочтительнее переменных среды.
- Возвращает:
- среду как отображение имен переменных на значения
- Исключения:
-
SecurityException- если существует менеджер безопасности и его методcheckPermissionне разрешает доступ к среде процесса - С:
- 1.5
- См. также:
-
getenv(String),ProcessBuilder.environment()
exit
public static void exit(int status)
Завершает текущую виртуальную машину Java. Аргумент служит кодом состояния; по соглашению, ненулевой код состояния указывает на аномальное завершение.
Этот метод вызывает метод exit в классе Runtime. Этот метод никогда не возвращается нормально.
Вызов System.exit(n) фактически эквивалентен вызову:
Runtime.getRuntime().exit(n)
- Параметры:
-
status- код завершения. - Исключения:
-
SecurityException- если существует менеджер безопасности и его методcheckExitне разрешает выход с указанным статусом. - См. также:
Runtime.exit(int)
gc
public static void gc()
Выполняет сборщик мусора.
Вызов метода gc предполагает, что виртуальная машина Java затратит ресурсы на переработку неиспользуемых объектов, чтобы освободить занимаемую ими память для быстрого повторного использования. При возвращении управления из вызова метода виртуальная машина Java сделала все возможное, чтобы освободить место от всех отброшенных объектов.
Вызов System.gc() фактически эквивалентен вызову:
Runtime.getRuntime().gc()
- См. также:
Runtime.gc()
runFinalization
public static void runFinalization()
Выполняет методы завершения для любых объектов, ожидающих завершения.
Вызов этого метода предполагает, что виртуальная машина Java приложит усилия для выполнения методов finalize объектов, которые были найдены удаленными, но чьи методы finalize еще не были выполнены. Когда управление возвращается из вызова метода, виртуальная машина Java сделала все возможное, чтобы завершить все ожидающие завершения.
Вызов System.runFinalization() фактически эквивалентен вызову:
Runtime.getRuntime().runFinalization()
- См. также:
Runtime.runFinalization()
runFinalizersOnExit
@Deprecated public static void runFinalizersOnExit(boolean value)
Устаревший. Этот метод изначально небезопасен. Он может привести к вызову finalizers для активных объектов, в то время как другие потоки одновременно манипулируют этими объектами, что приводит к непредсказуемому поведению или тупику.
Включает или отключает завершение при выходе; это указывает, что finalizers всех объектов, у которых есть finalizers, которые еще не были автоматически вызваны, должны быть выполнены перед завершением работы среды выполнения Java. По умолчанию завершение при выходе отключено.
Если существует менеджер безопасности, его метод checkExit сначала вызывается с аргументом 0, чтобы убедиться, что выход разрешен. Это может привести к SecurityException.
- Параметры:
-
value- указывает включение или отключение завершения - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckExitне разрешает выход. - С:
- JDK1.1
- См. также:
-
Runtime.exit(int),Runtime.gc(),SecurityManager.checkExit(int)
load
public static void load(String filename)
Загружает нативный библиотеку, указанную аргументом filename. Аргумент filename должен быть полным путем. Если аргумент filename, очищенный от любых платформоспецифичных префиксов, пути и расширений файлов, указывает библиотеку, имя которой, например, L, и нативный библиотека с именем L статически связана с VM, то функция JNI_OnLoad_L, экспортируемая библиотекой, вызывается, а не попытка загрузить динамическую библиотеку. Файл, соответствующий аргументу, не обязательно должен существовать в файловой системе. Подробнее см. спецификацию JNI. В противном случае аргумент filename отображается на изображение нативной библиотеки способом, зависящим от реализации.
Вызов System.load(name) фактически эквивалентен вызову:
Runtime.getRuntime().load(name)
- Параметры:
-
filename- файл для загрузки. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckLinkне разрешает загрузку указанной динамической библиотеки -
UnsatisfiedLinkError- если имя файла не является полным путем, нативная библиотека не статически связана с VM, или библиотека не может быть отображена на изображение нативной библиотеки хостовой системой. -
NullPointerException- еслиfilenameявляетсяnull - См. также:
-
Runtime.load(java.lang.String),SecurityManager.checkLink(java.lang.String)
loadLibrary
public static void loadLibrary(String libname)
Загружает нативную библиотеку, указанную аргументом libname. Аргумент libname не должен содержать платформоспецифического префикса, расширения файла или пути. Если нативная библиотека с именем libname статически связана с VM, то функция JNI_OnLoad_libname, экспортируемая библиотекой, вызывается. Подробнее см. спецификацию JNI. В противном случае аргумент libname загружается из системного расположения библиотек и отображается на изображение нативной библиотеки способом, зависящим от реализации.
Вызов System.loadLibrary(name) фактически эквивалентен вызову
Runtime.getRuntime().loadLibrary(name)
- Параметры:
-
libname- имя библиотеки. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckLinkне разрешает загрузку указанной динамической библиотеки -
UnsatisfiedLinkError- если аргумент libname содержит путь к файлу, нативная библиотека не статически связана с VM, или библиотека не может быть отображена на изображение нативной библиотеки хостовой системой. -
NullPointerException- еслиlibnameявляетсяnull - См. также:
-
Runtime.loadLibrary(java.lang.String),SecurityManager.checkLink(java.lang.String)
mapLibraryName
public static String mapLibraryName(String libname)
Отображает имя библиотеки в платформоспецифическую строку, представляющую нативную библиотеку.
- Параметры:
-
libname- имя библиотеки. - Возвращает:
- имя нативной библиотеки, зависящее от платформы.
- Исключения:
-
NullPointerException- еслиlibnameявляетсяnull - С:
- 1.2
- См. также:
-
loadLibrary(java.lang.String),ClassLoader.findLibrary(java.lang.String)
© 1993, 2020, 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.