Spec-Zone.ru › OpenJDK 8

Класс 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()

Возвращает уникальный объект Console, связанный с текущей виртуальной машиной Java, если таковой имеется.

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)

Загружает системную библиотеку, указанную в аргументе 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)

Устанавливает системные свойства в аргумент Properties.

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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API