Главная » Java » Методы native Java

0

Если в процессе реализации Jаvа-проекта возникает необходимость в применении существующего кода, написанного на другом языке программирования, или использовании низкоуровневых функций для непосредственного обращения к компьютерной аппаратуре, существует возможность прибегнуть к так называемым методам пative, которые могут быть вызваны из среды приложения Java, но создаются на одном из "родственных" (native) языков – как правило, С или С++. Nаtivе-методы объявляются посредством модификатора native. Тело метода реализуется на другом языке и поэтому в объявлении заменяется симвоДОМ точки с запятой. Ниже в качестве примера приведено объявление метода, который обращается к операционной системе за информацией об идентификационHOM номере процессора хост-компьютера.

public native int getCPUID();

Единственное отличие методов native состоит в том, что они реализуются на другом языке программирования. В остальном они подобны обычным методам, т.е. могут быть переопределены, перегружены и снабжены любыми модификаторами – final, static, synchronized, public, protected или private (кроме abstract и strictfp).

При обращении к методам native свойства переносимости и безопасности, присущие коду Java, будут утрачены. Практически невозможно использовать методы native в Jаvа-коде, который предназначен для загрузки из Internet или выполнения на удаленных компьютерах сети (примером являются аплеты). Не исключено, что работать с вашим кодом придется системе совершенно другой архитектуры, но если даже это и не так, система может просто запретить выполнение кода, не вызывающего доверия.

Методы nati ve реализуются с помощью библиотек API, предлагаемых разработчиками виртуальных машин Java для тех или иных платформ. Одна из стандартных библиотек API, предназначенных для программистов, использующих язык С, носит название JNI – от Java Native Iпterface. Существуют библиотеки и для других языков. Задача описания подобных библиотек выходит за рамки нашей книги.

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии