Spec-Zone.ru › OpenJDK 25

Класс SecureClassLoader

java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
Прямые известные подклассы:
URLClassLoader
public class SecureClassLoader extends ClassLoader
Этот класс расширяет ClassLoader, обеспечивая дополнительную поддержку определения классов с соответствующим источником кода и разрешениями.
Примечание API:
Разрешения нельзя использовать для управления доступом к ресурсам, поскольку диспетчер безопасности больше не поддерживается.
С версии:
1.2

Краткое описание конструкторов

SecureClassLoader()
SecureClassLoader(ClassLoader parent)
SecureClassLoader(String name, ClassLoader parent)
Модификатор Конструктор Описание
protected
Создает новый SecureClassLoader, используя системный загрузчик классов в качестве родительского.
protected
Создает новый SecureClassLoader, используя указанный родительский загрузчик классов для делегирования.
protected
Создает новый SecureClassLoader с указанным именем, используя указанный родительский загрузчик классов для делегирования.

Краткое описание методов

Модификатор и тип Метод Описание
protected final Class<?> defineClass(String name, byte[] b, int off, int len, CodeSource cs)
Преобразует массив байтов в экземпляр класса Class с необязательным CodeSource.
protected final Class<?> defineClass(String name, ByteBuffer b, CodeSource cs)
Преобразует ByteBuffer в экземпляр класса Class с необязательным CodeSource.
protected PermissionCollection getPermissions(CodeSource codesource)
Возвращает разрешения для указанного объекта CodeSource.

Методы, объявленные в классе ClassLoader

clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

SecureClassLoader

protected SecureClassLoader(ClassLoader parent)
Создает новый SecureClassLoader, используя указанный родительский загрузчик классов для делегирования.
Примечание API:
Если parent указано как null (для загрузчика классов начальной загрузки), нет гарантии, что все платформенные классы будут видны. См. раздел Встроенные загрузчики классов времени выполнения, содержащий сведения о загрузчике классов начальной загрузки и других встроенных загрузчиках классов.
Параметры:
parent — родительский ClassLoader; может быть null для загрузчика классов начальной загрузки

SecureClassLoader

protected SecureClassLoader()
Создает новый SecureClassLoader, используя системный загрузчик классов в качестве родительского.

SecureClassLoader

protected SecureClassLoader(String name, ClassLoader parent)
Создает новый SecureClassLoader с указанным именем, используя указанный родительский загрузчик классов для делегирования.
Примечание API:
Если parent указано как null (для загрузчика классов начальной загрузки), нет гарантии, что все платформенные классы будут видны. См. раздел Встроенные загрузчики классов времени выполнения, содержащий сведения о загрузчике классов начальной загрузки и других встроенных загрузчиках классов.
Параметры:
name — имя загрузчика классов; или null, если имя не задано
parent — родительский загрузчик классов; может быть null для загрузчика классов начальной загрузки
Исключения:
IllegalArgumentException — если указанное имя пусто.
С версии:
9

Подробное описание методов

defineClass

protected final Class<?> defineClass(String name, byte[] b, int off, int len, CodeSource cs)
Преобразует массив байтов в экземпляр класса Class с необязательным CodeSource. Прежде чем класс можно будет использовать, его необходимо связать.

Если указан ненулевой CodeSource, создается ProtectionDomain, связанный с определяемым классом.

Параметры:
name — ожидаемое имя класса или null, если оно неизвестно; в качестве разделителя используется «.», а не «/», суффикс «.class» в конце не указывается.
b — байты, составляющие данные класса. Байты в позициях от off до off+len-1 должны иметь формат корректного файла класса, определенный в Спецификации виртуальной машины Java.
off — начальное смещение данных класса в b
len — длина данных класса
cs — связанный CodeSource или null, если он отсутствует
Возвращает:
объект Class, созданный на основе данных и необязательного CodeSource.
Исключения:
ClassFormatError — если данные не содержали корректного класса
IndexOutOfBoundsException — если off или len имеет отрицательное значение либо если off+len больше b.length.
SecurityException — если предпринимается попытка добавить этот класс в пакет, содержащий классы, подписанные другим набором сертификатов, или если имя класса начинается с «java.».

defineClass

protected final Class<?> defineClass(String name, ByteBuffer b, CodeSource cs)
Преобразует ByteBuffer в экземпляр класса Class с необязательным CodeSource. Прежде чем класс можно будет использовать, его необходимо связать.

Если указан ненулевой CodeSource, создается ProtectionDomain, связанный с определяемым классом.

Параметры:
name — ожидаемое имя класса или null, если оно неизвестно; в качестве разделителя используется «.», а не «/», суффикс «.class» в конце не указывается.
b — байты, составляющие данные класса. Байты от позиции b.position() до позиции b.position() + b.limit() -1 должны иметь формат корректного файла класса, определенный в Спецификации виртуальной машины Java.
cs — связанный CodeSource или null, если он отсутствует
Возвращает:
объект Class, созданный на основе данных и необязательного CodeSource.
Исключения:
ClassFormatError — если данные не содержали корректного класса
SecurityException — если предпринимается попытка добавить этот класс в пакет, содержащий классы, подписанные другим набором сертификатов, или если имя класса начинается с «java.».
С версии:
1.5

getPermissions

protected PermissionCollection getPermissions(CodeSource codesource)
Возвращает разрешения для указанного объекта CodeSource.

Этот метод вызывается методом defineClass, принимающим CodeSource в качестве аргумента, при создании ProtectionDomain для определяемого класса.

Параметры:
codesource — источник кода.
Возвращает:
разрешения для источника кода.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/java.base/java/security/SecureClassLoader.html

Spec-Zone.ru

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