Пакет jdk.dynalink.linker
Содержит интерфейсы и классы, необходимые средам выполнения языков для реализации собственных объектных моделей и преобразований типов, специфичных для этих языков. Основной точкой входа служит интерфейс GuardingDynamicLinker. Его необходимо реализовать, чтобы обеспечить связывание для собственной объектной модели среды выполнения. Среда выполнения языка может иметь несколько реализаций защитного динамического связывателя. При настройке Dynalink для своих нужд среда выполнения обычно устанавливает такие защитные связыватели в качестве приоритетных в своей фабрике DynamicLinkerFactory (а некоторые из них, возможно, и в качестве резервных связывателей, например для обработки ошибок «метод не найден» и подобных ошибок специфичным для языка способом, если ни один другой связыватель не смог обработать операцию).
Среде выполнения языка, желающей сделать по крайней мере некоторые из своих связывателей доступными другим средам выполнения языков для обеспечения взаимодействия, потребуется использовать GuardingDynamicLinkerExporter.
Большинство сред выполнения языков смогут реализовать собственную логику связывания, реализовав TypeBasedGuardingDynamicLinker вместо GuardingDynamicLinker; это позволяет быстрее выполнять диспетчеризацию связывания на основе типа.
Средам выполнения языков, поддерживающим преобразования типов, помимо предоставляемых Java, потребуется, чтобы их защитный динамический связыватель (или связыватели) также реализовывал интерфейс GuardingTypeConverterFactory, предоставляющий логику этих преобразований.
- Начиная с:
- 9
| Класс | Описание |
|---|---|
| ConversionComparator | Необязательный интерфейс, реализуемый классами, реализующими GuardingTypeConverterFactory. |
| ConversionComparator.Comparison | Перечисление возможных результатов сравнения одного преобразования с другим. |
| GuardedInvocation | Представляет условно допустимый дескриптор метода. |
| GuardedInvocationTransformer | Интерфейс для объектов, преобразующих один защищённый вызов в другой. |
| GuardingDynamicLinker | Базовый интерфейс для динамических связывателей, специфичных для языка. |
| GuardingDynamicLinkerExporter | Класс, выступающий поставщиком защитных динамических связывателей, которые могут автоматически загружаться другими средами выполнения языков. |
| GuardingTypeConverterFactory | Необязательный интерфейс, который могут реализовать реализации GuardingDynamicLinker для предоставления возможностей преобразования типов, специфичных для языка. |
| LinkerServices | Интерфейс служб, предоставляемых экземплярам GuardingDynamicLinker принадлежащим им объектом DynamicLinker. |
| LinkRequest | Представляет запрос на связывание конкретного вызова в конкретной точке вызова. |
| MethodHandleTransformer | Обобщённый интерфейс, описывающий операции преобразования дескрипторов методов. |
| MethodTypeConversionStrategy | Интерфейс для объектов, представляющих стратегию преобразования дескриптора метода к новому типу. |
| TypeBasedGuardingDynamicLinker | Защитный динамический связыватель, который может определить, способен ли он связать точку вызова, основываясь исключительно на типе первого аргумента во время вызова связывания. |
© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.dynalink/jdk/dynalink/linker/package-summary.html