Spec-Zone .ru
спецификации, руководства, описания, API
Содержание | Предыдущий | Следующий | Индекс

20.18 Класс java.lang.System

System класс содержит много полезных переменных класса и методов класса. Это нельзя инстанцировать. Среди услуг, предоставленных System класс является стандартным вводом, выводом, и потоками вывода ошибок; доступ к внешне определенным "свойствам"; средство загружающихся файлов и библиотек; и служебный метод для того, чтобы быстро скопировать часть массива.

public final class System {
	public static InputStream in;
	public static PrintStream out;
	public static PrintStream err;
	public static SecurityManager getSecurityManager();
	public static void setSecurityManager(SecurityManager s)
		throws SecurityException;
	public static long currentTimeMillis();
	public static Properties getProperties()
		throws SecurityException;
	public static void setProperties(Properties props)
		throws SecurityException;
	public static String getProperty(String key)
		throws SecurityException;
	public static String getProperty(String key, String defaults)
		throws SecurityException;
	public static void exit(int status) throws SecurityException;
	public static void gc();
	public static void runFinalization();
	public static void load(String filename)
		throws SecurityException, UnsatisfiedLinkError;
	public static void loadLibrary(String libname)
		throws SecurityException, UnsatisfiedLinkError;
	public static void arraycopy(Object src, int srcOffset,
			Object dst, int dstOffset, int length)
throws NullPointerException, ArrayStoreException, IndexOutOfBoundsException; }

20.18.1 public static InputStream in;

Начальное значение этой переменной является "стандартным" входным потоком, уже откройтесь и готовый снабдить входными данными. Как правило, это соответствует вводу клавиатуры или другому входному источнику, определенному средой узла или пользователем. Отметьте, что это поле не final, таким образом, его значение может быть обновлено в случае необходимости.

20.18.2 public static PrintStream out;

Начальное значение этой переменной является "стандартным" потоком вывода, уже откройтесь и готовый принять выходные данные. Как правило, это соответствует выводу дисплея или другому выходному месту назначения, определенному средой узла или пользователем. Отметьте, что это поле не final, таким образом, его значение может быть обновлено в случае необходимости.

Для простых приложений Java типичный способ записать строку выходных данных:

System.out.println(data)
См. println метод класса PrintStream (§22.22).

20.18.3 public static PrintStream err;

Начальное значение этой переменной является "стандартным" потоком вывода ошибок, уже откройтесь и готовый принять выходные данные. Как правило, это соответствует выводу дисплея или другому выходному месту назначения, определенному средой узла или пользователем. Условно, этот поток вывода используется, чтобы вывести на экран сообщения об ошибках или другую информацию, которая должна прибыть в пристальное внимание пользователя даже если основной поток вывода, значение переменной out, был перенаправлен к файлу или другому месту назначения, которое обычно непрерывно не контролируется. Отметьте, что это поле не final, таким образом, его значение может быть обновлено в случае необходимости.

20.18.4 public static SecurityManager getSecurityManager()

Если менеджер безопасности был уже установлен для в настоящий момент рабочей системы Java, ссылка на того менеджера безопасности возвращается. Иначе, null возвращается.

20.18.5 public static void setSecurityManager(SecurityManager s)
throws SecurityException

Если менеджер безопасности был уже установлен для в настоящий момент рабочей системы Java, a SecurityException бросается. Иначе, параметр устанавливается как текущий менеджер безопасности. Если параметр null и никакой менеджер безопасности не был установлен, тогда никакие меры не предпринимаются, и метод просто обычно возвращается.

20.18.6 public static long currentTimeMillis()

Возвращает различие, измеренное в миллисекундах, между текущим временем и стандартным нормативом времени, известным как "эпоха," GMT 0:00:00 1 января 1970. См. описание класса Date (§21.3) для обсуждения небольших несоответствий, которые могут возникнуть между "машинным временем" и UTC (Всемирное координированное время).

20.18.7 public static Properties getProperties()
throws SecurityException

Во-первых, если есть менеджер безопасности, checkPropertiesAccess метод (§20.17.15) вызывают без параметров.

Текущий набор системных свойств для использования getProperty метод возвращается как объект Свойств (§21.6). Если нет никакого текущего набора системных свойств, ряд системных свойств сначала создается и инициализируется. Этот набор системных свойств всегда включает значения для следующих ключей:

Key							Description of associated value
java.version							Java version number
java.vendor							Java-vendor-specific string
java.vendor.url							Java vendor URL
java.home							Java installation directory
java.class.version							Java class format version number
java.class.path							Java classpath
os.name							Operating system name
os.arch							Operating system architecture
os.version							Operating system version
file.separator							File separator (/ on UNIX)
path.separator							Path separator (: on UNIX)
line.separator							Line separator (\n on UNIX)
user.name							User account name
user.home							User home directory
user.dir							User's current working directory
Отметьте это, даже если менеджер безопасности не разрешает getProperties работа, это может хотеть разрешать getProperty работа (§20.18.9).

20.18.8 public static void setProperties(Properties props)
throws SecurityException

Во-первых, если есть менеджер безопасности, checkPropertiesAccess метод (§20.17.15) вызывают без параметров.

Параметр становится текущим набором системных свойств для использования getProperty метод. См. класс Properties (§21.6). Если параметр null, тогда о текущем наборе системных свойств забывают.

20.18.9 public static String getProperty(String key)
throws SecurityException

Во-первых, если есть менеджер безопасности, checkPropertyAccess метод (§20.17.16) вызывают с key как его параметр.

Если нет никакого текущего набора системных свойств, ряд системных свойств сначала создается и инициализируется тем же самым способом что касается getProperties метод (§20.18.7).

Системное значение свойства связалось с указанным key строка возвращается. Если нет никакого свойства с тем ключом, то null возвращается.

20.18.10 public static String getProperty(String key,
String defaults)
throws SecurityException

Во-первых, если есть менеджер безопасности, checkPropertyAccess метод (§20.17.16) вызывают с key как его параметр.

Если нет никакого текущего набора системных свойств, ряд системных свойств сначала создается и инициализируется тем же самым способом что касается getProperties метод (§20.18.7).

Системное значение свойства связалось с указанным key строка возвращается. Если нет никакого свойства с тем ключом, то параметр defaults возвращается.

20.18.11 public static void exit(int status)
throws SecurityException

Этот метод завершает в настоящий момент рабочую виртуальную машину Java. Параметр служит кодом состояния; условно, ненулевой код состояния указывает на аварийное завершение.

Этот метод никогда обычно не возвращается.

Вызов System.exit(n) эффективно эквивалентно вызову:

Runtime.getRuntime().exit(n)
Для большего количества полного описания см. exit метод класса Runtime (§20.16.2).

20.18.12 public static void gc()

Вызов этого метода предлагает, чтобы виртуальная машина Java израсходовала усилие к рециркуляции отброшенных объектов, чтобы сделать память, которую они в настоящий момент занимают доступный для быстрого повторного использования. Когда возвраты управления из вызова метода, виртуальная машина Java сделала максимальные усилия, чтобы переработать все отброшенные объекты.

Вызов System.gc() эффективно эквивалентно вызову:

Runtime.getRuntime().gc()
Для большего количества полного описания см. gc метод класса Runtime (§20.16.9).

20.18.13 public static void runFinalization()

Вызов этого метода предлагает, чтобы виртуальная машина Java израсходовала усилие к выполнению методов завершения объектов, которые, как находили, были отброшены, но чьи методы завершения еще не были выполнены. Когда возвраты управления из вызова метода, виртуальная машина Java сделала максимальные усилия, чтобы завершить все выдающиеся завершения.

Вызов System.runFinalization() эффективно эквивалентно вызову:

Runtime.getRuntime().runFinalization()
Для большего количества полного описания см. runFinalization метод класса Runtime (§20.16.10).

20.18.14 public static void load(String filename)
throws SecurityException, UnsatisfiedLinkError

Этот метод загружает файл кода указанным именем файла от локальной файловой системы.

Вызов System.load(name) эффективно эквивалентно вызову:

Runtime.getRuntime().load(name)
Для большего количества полного описания см. load метод класса Runtime (§20.16.13).

20.18.15 public static void loadLibrary(String libname)
throws SecurityException, UnsatisfiedLinkError

Этот метод загружает файл кода библиотеки указанным именем библиотеки от локальной файловой системы.

Вызов System.loadLibrary(name) эффективно эквивалентно вызову

Runtime.getRuntime().loadLibrary(name)
Для большего количества полного описания см. loadLibrary метод класса Runtime (§20.16.14).

20.18.16 public static void arraycopy(Object src, int srcOffset,
Object dst, int dstOffset, int length)
throws NullPointerException, ArrayStoreException,
IndexOutOfBoundsException

Подпоследовательность компонентов массива копируется с исходного массива, на который ссылаются src целевому массиву, на который ссылаются dst. Число скопированных компонентов равно length параметр. Компоненты в позициях srcOffset через srcOffset+length-1 в источнике массив копируются в позиции dstOffset через dstOffset+length-1, соответственно, целевого массива.

Если src и dst параметры обращаются к тому же самому объекту массива, тогда копирование выполняется, как будто компоненты источника выстраивают в позициях srcOffset через srcOffset+length-1 были сначала скопированы во временный массив длины length и затем содержание временного массива было скопировано в позиции dstOffset через dstOffset+length-1 из целевого массива.

Если dst null, тогда a NullPointerException бросается.

Если src null, тогда a NullPointerException бросается и целевой массив не изменяется.

Иначе, если любое следующее является истиной, то ArrayStoreException бросается и место назначения не изменяется:

Иначе, если какое-либо следующее является истиной, IndexOutOfBoundsException бросается и место назначения не изменяется:

Иначе, если фактическое значение какого-либо компонента источника выстраивает от позиции srcOffset через srcOffset+length-1 не может быть преобразован в компонентный тип целевого массива преобразованием присвоения, затем ArrayStoreException бросается. В этом случае позвольте k быть самым маленьким неотрицательным целым числом меньше чем длина так, что src[srcOffset+k] не может быть преобразован в компонентный тип целевого массива. Когда исключение выдается, исходные компоненты массива от позиций srcOffset через srcOffset+k-1 были скопированы в целевые позиции массива dstOffset через dstOffset+k-1 и никакие другие позиции целевого массива не будут изменены. (Из-за ограничений, уже перечисленных, этот абзац эффективно применяется только к ситуации, где у обоих массивов есть компонентные типы, которые являются ссылочными типами.)

20.19 Интерфейс java.lang.Runnable

Runnable интерфейс должен быть реализован любым классом, экземпляры которого предназначаются, чтобы быть выполненными новым потоком. Все, что требуется такого класса, - то, что он реализует метод никаких вызванных параметров run.

public interface Runnable {
	public abstract void run();
}

20.19.1 public abstract void run()

Общий контракт метода run это, это может предпринять любые меры вообще.

Если интерфейс реализации объекта Runnable используется, чтобы создать поток (§20.20), затем запуская поток будет (обычно) приводить к вызову объекта run метод в том отдельно выполняющемся потоке.


Содержание | Предыдущий | Следующий | Индекс

Спецификация языка Java (HTML, сгенерированный Блинчиком "сюзет" Pelouch 24 февраля 1998)
Авторское право © Sun Microsystems, Inc 1996 года. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления к doug.kramer@sun.com

free hit counter