Класс System
public final class System extends Object
System содержит несколько полезных полей и методов класса. Его нельзя создать. К числу возможностей, предоставляемых классом System, относятся стандартные потоки ввода, вывода и ошибок; доступ к внешним свойствам и переменным среды; возможность загрузки файлов и библиотек; а также вспомогательный метод для быстрого копирования части массива.- Since:
- 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 |
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 |
Ограничено. Загружает системную библиотеку, указанную именем файла. |
static void |
loadLibrary |
Ограничено. Загружает системную библиотеку, указанную аргументом libname. |
static String |
mapLibraryName |
Преобразует имя библиотеки в платформозависимую строку, представляющую системную библиотеку. |
static long |
nanoTime() |
Возвращает текущее значение источника времени высокой точности работающей виртуальной машины Java в наносекундах. |
static void |
runFinalization() |
Запрещено, для удаления: Этот элемент API может быть удален в будущей версии. Финализация была запрещена для удаления. |
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
stdout.encoding. Для простых автономных приложений Java типичным способом записи строки данных вывода является:
System.out.println(data)
См. методы println в классе PrintStream.
- См. также:
err
public static final PrintStream err
Обычно этот поток соответствует выводу на экран или другому пункту назначения вывода, указанному средой выполнения или пользователем. По соглашению, этот поток вывода используется для отображения сообщений об ошибках или другой информации, которая должна привлечь внимание пользователя, даже если основной поток вывода, значение переменной out, был перенаправлен в файл или другое место назначения, которое обычно не отслеживается непрерывно. Кодировка, используемая при преобразовании символов в байты, эквивалентна stderr.encoding.
- См. также:
Подробное описание методов
setIn
public static void setIn(InputStream in)
- Параметры:
-
in- новый стандартный поток ввода. - С:
- 1.1
setOut
public static void setOut(PrintStream out)
- Параметры:
-
out- новый стандартный поток вывода - С:
- 1.1
setErr
public static void setErr(PrintStream err)
- Параметры:
-
err- новый стандартный поток вывода ошибок. - С:
- 1.1
console
public static Console console()
Console, связанный с текущей виртуальной машиной Java, если таковой имеется.- Возвращает:
- Консоль системы, если таковая имеется, в противном случае
null. - С:
- 1.6
inheritedChannel
public static Channel inheritedChannel() throws IOException
inheritedChannel системного по умолчанию SelectorProvider объекта. В дополнение к каналам, ориентированным на сеть, описанным в inheritedChannel, в будущем этот метод может возвращать и другие типы каналов.
- Возвращает:
- Унаследованный канал, если таковой имеется, в противном случае
null. - Исключения:
-
IOException- Если возникает ошибка ввода-вывода - С:
- 1.5
setSecurityManager
@Deprecated(since="17", forRemoval=true) public static void setSecurityManager(SecurityManager sm)
UnsupportedOperationException. Установка менеджера безопасности не поддерживается.- Параметры:
-
sm- игнорируется - Исключения:
-
UnsupportedOperationException- всегда - См. также:
getSecurityManager
@Deprecated(since="17", forRemoval=true) public static SecurityManager getSecurityManager()
null. Установка менеджера безопасности не поддерживается.- Возвращает:
null- См. также:
currentTimeMillis
public static long currentTimeMillis()
См. описание класса Date для обсуждения незначительных различий, которые могут возникнуть между "временем компьютера" и согласованным универсальным временем (UTC).
- Возвращает:
- разность, измеренная в миллисекундах, между текущим временем и полуночью 1 января 1970 года по UTC.
- См. также:
nanoTime
public static long nanoTime()
Этот метод обеспечивает точность в наносекундах, но не обязательно разрешение в наносекундах (то есть, с какой частотой изменяется значение) - гарантии не даются, за исключением того, что разрешение не хуже, чем у currentTimeMillis().
Различия в последовательных вызовах, охватывающих более приблизительно 292 лет (263 наносекунд), не будут правильно вычислять интервал времени из-за переполнения.
Значения, возвращаемые этим методом, становятся осмысленными только при вычислении разницы между двумя такими значениями, полученными в рамках одного экземпляра виртуальной машины Java.
Например, чтобы измерить, сколько времени занимает выполнение некоторого кода:
long startTime = System.nanoTime();
// ... the code being measured ...
long elapsedNanos = System.nanoTime() - startTime; Для сравнения интервала времени с тайм-аутом используйте
if (System.nanoTime() - startTime >= timeoutNanos) ... вместо
if (System.nanoTime() >= startTime + timeoutNanos) ... из-за возможности переполнения.- Возвращает:
- текущее значение высокоточного источника времени выполнения виртуальной машины 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)
- Параметры:
-
x- объект, для которого нужно вычислить код хэширования - Возвращает:
- код хэширования
- С:
- 1.1
- См. также:
getProperties
public static Properties getProperties()
Текущий набор системных свойств для использования методом getProperty(String) возвращается как объект Properties. Если текущий набор системных свойств отсутствует, сначала создается и инициализируется набор системных свойств. Этот набор системных свойств включает значение для каждого из следующих ключей, если только описание связанного значения не указывает, что значение является необязательным.
| Ключ | Описание связанного значения |
|---|---|
java.version | Версия среды выполнения Java, которая может интерпретироваться как Runtime.Version
|
java.version.date | Дата версии среды выполнения Java в формате ISO-8601 ГГГГ-ММ-ДД, которая может интерпретироваться как LocalDate
|
java.vendor | Поставщик среды выполнения Java |
java.vendor.url | URL поставщика Java |
java.vendor.version | Версия поставщика Java (необязательно) |
java.home | Директория установки Java |
java.vm.specification.version | Версия спецификации виртуальной машины Java, значение которой является элементом feature версии runtime |
java.vm.specification.vendor | Поставщик спецификации виртуальной машины Java |
java.vm.specification.name | Имя спецификации виртуальной машины Java |
java.vm.version | Версия реализации виртуальной машины Java, которая может интерпретироваться как Runtime.Version
|
java.vm.vendor | Поставщик реализации виртуальной машины Java |
java.vm.name | Имя реализации виртуальной машины Java |
java.specification.version | Версия спецификации среды выполнения Java, значение которой является элементом feature версии runtime |
java.specification.maintenance.version | Дополнительная версия обслуживания спецификации среды выполнения Java, может интерпретироваться как положительное целое число (необязательно, см. ниже) |
java.specification.vendor | Поставщик спецификации среды выполнения Java |
java.specification.name | Имя спецификации среды выполнения Java |
java.class.version |
Последняя версия формата файлов классов Java, распознаваемая средой выполнения Java, как "MAJOR.MINOR", где MAJOR и MINOR обе представлены десятичными целыми числами
|
java.class.path | Путь класса Java (см. ClassLoader.getSystemClassLoader() для подробностей) |
java.library.path | Список путей для поиска при загрузке библиотек |
java.io.tmpdir | Путь к временным файлам по умолчанию |
os.name | Имя операционной системы |
os.arch | Архитектура операционной системы |
os.version | Версия операционной системы |
file.separator | Разделитель файлов ("/" в UNIX) |
path.separator | Разделитель путей (":" в UNIX) |
line.separator | Разделитель строк ("\n" в UNIX) |
user.name | Имя учетной записи пользователя |
user.home | Домашний каталог пользователя |
user.dir | Текущая рабочая директория пользователя |
native.encoding | Имя кодировки символов, полученное из среды хоста и/или настроек пользователя. Установка этого системного свойства не оказывает никакого эффекта. |
stdout.encoding | Имя кодировки символов для System.out и System.console(). Среда выполнения Java может быть запущена со системным свойством, установленным на UTF-8; запуск со свойством, установленным на другое значение, приводит к неопределенному поведению. |
stderr.encoding | Имя кодировки символов для System.err. Среда выполнения Java может быть запущена со системным свойством, установленным на UTF-8; запуск со свойством, установленным на другое значение, приводит к неопределенному поведению. |
Свойство java.specification.maintenance.version определено, если спецификация, реализованная этой средой выполнения во время ее создания, претерпела выпуск с обслуживанием. При определении значение этого свойства идентифицирует этот выпуск с обслуживанием. Для обозначения первого выпуска с обслуживанием свойство будет иметь значение "1", для обозначения второго выпуска с обслуживанием — значение "2" и так далее.
Несколько путей в значении системного свойства разделены символом разделителя путей платформы.
Дополнительные системные свойства, относящиеся к локали, определенные в разделе Default Locale описания класса Locale, также могут быть получены с помощью этого метода.
- Примечание API:
-
Изменение стандартного системного свойства может привести к непредсказуемым результатам, если не указано иное. Значения свойств могут кэшироваться во время инициализации или при первом использовании. Установка стандартного свойства после инициализации с помощью
getProperties(),setProperties(Properties),setProperty(String, String)илиclearProperty(String)может не иметь желаемого эффекта. - Примечание реализации:
- В дополнение к стандартным системным свойствам, системные свойства могут включать следующие ключи:
Ключ Описание связанного значения jdk.module.pathПуть модуля приложения jdk.module.upgrade.pathПуть модуля обновления jdk.module.mainИмя модуля начального/главного модуля jdk.module.main.classИмя главного класса начального модуля file.encodingИмя кодировки по умолчанию, по умолчанию равняется UTF-8. Свойство может быть задано в командной строке со значениемUTF-8илиCOMPAT. Если оно задано в командной строке со значениемCOMPAT, то значение заменяется значением свойстваnative.encodingво время запуска. Установка свойства на значение, отличное отUTF-8илиCOMPAT, приводит к неопределенному поведению. - Возвращает:
- системные свойства
- См. также:
lineSeparator
public static String lineSeparator()
line.separator. В системах UNIX она возвращает "\n"; в системах Microsoft Windows — "\r\n".
- Возвращает:
- строку разделителя строк, зависящую от операционной системы
- С момента:
- 1.7
setProperties
public static void setProperties(Properties props)
Properties. Аргумент становится текущим набором системных свойств для использования методом getProperty(String). Если аргумент равен null, то текущий набор системных свойств забывается.
- Примечание API:
- Изменение стандартного системного свойства может привести к непредсказуемым результатам, если не указано иное. Подробности см. в getProperties.
- Параметры:
-
props- новые системные свойства. - См. также:
getProperty
public static String getProperty(String key)
Если текущий набор системных переменных отсутствует, сначала создается и инициализируется набор системных переменных таким же образом, как и для метода getProperties.
- API Note:
- Изменение стандартной системной переменной может привести к непредсказуемым результатам, если не указано иное. Подробности см. в getProperties.
- Параметры:
-
key- имя системной переменной. - Возвращает:
- строковое значение системной переменной или
null, если переменной с таким ключом нет. - Исключения:
-
NullPointerException- еслиkeyявляетсяnull. -
IllegalArgumentException- еслиkeyпуста. - См. также:
getProperty
public static String getProperty(String key, String def)
Если текущий набор системных переменных отсутствует, сначала создается и инициализируется набор системных переменных таким же образом, как и для метода getProperties.
- Параметры:
-
key- имя системной переменной. -
def- значение по умолчанию. - Возвращает:
- строковое значение системной переменной или значение по умолчанию, если переменной с таким ключом нет.
- Исключения:
-
NullPointerException- еслиkeyявляетсяnull. -
IllegalArgumentException- еслиkeyпуста. - См. также:
setProperty
public static String setProperty(String key, String value)
- API Note:
- Изменение стандартной системной переменной может привести к непредсказуемым результатам, если не указано иное. Подробности см. в getProperties.
- Параметры:
-
key- имя системной переменной. -
value- значение системной переменной. - Возвращает:
- предыдущее значение системной переменной или
null, если его не было. - Исключения:
-
NullPointerException- еслиkeyилиvalueявляютсяnull. -
IllegalArgumentException- еслиkeyпуста. - С:
- 1.2
- См. также:
clearProperty
public static String clearProperty(String key)
- API Note:
- Изменение стандартной системной переменной может привести к непредсказуемым результатам, если не указано иное. Подробности см. в методе getProperties.
- Параметры:
-
key- имя системной переменной для удаления. - Возвращает:
- предыдущее строковое значение системной переменной или
null, если переменной с таким ключом нет. - Исключения:
-
NullPointerException- еслиkeyявляетсяnull. -
IllegalArgumentException- еслиkeyпуста. - С:
- 1.5
- См. также:
getenv
public static String getenv(String name)
Системные переменные и переменные среды — это концептуальные отображения между именами и значениями. Оба механизма могут использоваться для передачи пользовательских данных в процесс Java. Переменные среды имеют более глобальное влияние, потому что они видны всем потомкам процесса, который их определяет, а не только непосредственному подпроцессу Java. У них могут быть немного разные семантики, например, регистронезависимость, на разных операционных системах. По этим причинам переменные среды чаще всего имеют непредвиденные побочные эффекты. Лучше использовать системные переменные, где это возможно. Переменные среды следует использовать, когда требуется глобальное влияние или когда интерфейс внешней системы требует переменной среды (например, PATH).
В системах UNIX регистр символов name обычно имеет значение, в то время как в системах Microsoft Windows он обычно не имеет значения. Например, выражение System.getenv("FOO").equals(System.getenv("foo")), скорее всего, будет истинным в системах Microsoft Windows.
- Параметры:
-
name- имя переменной среды - Возвращает:
- строковое значение переменной или
null, если переменная не определена в системной среде - Исключения:
-
NullPointerException- еслиnameявляетсяnull - См. также:
getenv
public static Map<String,String> getenv()
Если система не поддерживает переменные среды, возвращается пустая карта.
Возвращаемая карта никогда не будет содержать нулевые ключи или значения. Попытка запросить наличие нулевого ключа или значения приведет к выбрасыванию NullPointerException. Попытка запросить наличие ключа или значения, которое не является типа String, приведет к выбрасыванию ClassCastException.
Возвращаемая карта и ее представления коллекций могут не соответствовать общему соглашению методов Object.equals(java.lang.Object) и Object.hashCode().
Возвращаемая карта, как правило, регистрозависимая на всех платформах.
При передаче информации в подпроцесс Java системные переменные обычно предпочтительнее переменных среды.
- Возвращает:
- среда как отображение имен переменных на значения
- С:
- 1.5
- См. также:
getLogger
public static System.Logger getLogger(String name)
Logger для использования вызывающим классом.- API Note:
- Этот метод может отложить вызов метода
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)
Аргумент служит в качестве кода состояния. По соглашению, ненулевой код состояния указывает на аномальное завершение.
Вызов System.exit(n) фактически эквивалентен вызову:
Runtime.getRuntime().exit(n)
- Примечание по реализации:
- Инициализация последовательности завершения работы регистрируется
Runtime.exit(int). - Параметры:
-
status- код завершения. - См. также:
gc
public static void gc()
Вызов метода gc предполагает, что Java Virtual Machine затратит усилия на рециклизацию неиспользуемых объектов, чтобы сделать занимаемую ими память доступной для повторного использования Java Virtual Machine. По возвращении из вызова метода Java Virtual Machine приложила все усилия для освобождения места от всех неиспользуемых объектов. Нет гарантии, что эти усилия приведут к рециклизации определённого числа неиспользуемых объектов, освобождению определённого количества памяти или завершению в определённое время, если вообще. Нет также гарантии, что эти усилия позволят определить изменение достижимости для определённого количества объектов, или что определённое количество объектов Reference будет очищено и поставлено в очередь.
Вызов System.gc() фактически эквивалентен вызову:
Runtime.getRuntime().gc()
- См. также:
runFinalization
@Deprecated(since="18", forRemoval=true) public static void runFinalization()
Object.finalize() для получения справочной информации и деталей по вариантам миграции. При работе в JVM, в которой финализация отключена или удалена, объекты, ожидающие финализации, отсутствуют, поэтому этот метод ничего не делает.
finalize объектов, которые были признаны отброшенными, но чьи методы finalize ещё не были выполнены. По возвращении из вызова метода Java Virtual Machine приложила все усилия для завершения всех ожидающих финализаций. Вызов System.runFinalization() фактически эквивалентен вызову:
Runtime.getRuntime().runFinalization()
- См. Спецификацию языка Java:
-
12.6 Финализация экземпляров классов
- См. также:
load
public static void load(String filename)
load — это ограниченный метод платформы Java.
load только при включённом доступе к ограниченным методам. Вызов System.load(name) фактически эквивалентен вызову:
Runtime.getRuntime().load(name)
- Параметры:
-
filename- файл для загрузки. - Исключения:
-
UnsatisfiedLinkError- если имя файла не является абсолютным, системная библиотека не статически связана с VM или библиотека не может быть отображена на изображение системной библиотеки на системой. -
NullPointerException- еслиfilenameявляетсяnull -
IllegalCallerException- если вызывающий объект находится в модуле, в котором доступ к системным библиотекам не разрешён. - Внешние спецификации
- См. также:
loadLibrary
public static void loadLibrary(String libname)
loadLibrary является ограниченным методом платформы Java. loadLibrary только при включенном доступе к ограниченным методам.libname. Аргумент libname не должен содержать никаких платформозависимых префиксов, расширений файлов или путей. Если системная библиотека, называемая libname, статически связана с виртуальной машиной, то вызывается функция JNI_OnLoad_libname, экспортируемая этой библиотекой. Более подробную информацию см. в Спецификации JNI. В противном случае имя библиотеки (libname) загружается из системного расположения библиотек и сопоставляется с изображением системной библиотеки зависимым от реализации способом. Вызов System.loadLibrary(name) фактически эквивалентен вызову
Runtime.getRuntime().loadLibrary(name)
- Параметры:
-
libname- имя библиотеки. - Исключения:
-
UnsatisfiedLinkError- если аргумент libname содержит путь к файлу, системная библиотека не статически связана с виртуальной машиной или библиотека не может быть сопоставлена с системным изображением библиотеки хост-системой. -
NullPointerException- еслиlibnameявляетсяnull -
IllegalCallerException- если вызывающий модуль не имеет включенного доступа к системным библиотекам. - Внешние Спецификации
- См. также:
mapLibraryName
public static String mapLibraryName(String libname)
- Параметры:
-
libname- имя библиотеки. - Возвращает:
- имя системной библиотеки, зависящее от платформы.
- Исключения:
-
NullPointerException- еслиlibnameявляетсяnull - С:
- 1.2
- См. также:
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/System.html