Spec-Zone.ru › OpenJDK 24

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

Методы, объявленные в классе java.lang.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

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

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

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

SecureClassLoader

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

SecureClassLoader

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

SecureClassLoader

protected SecureClassLoader(String name, ClassLoader parent)
Создаёт новый SecureClassLoader с указанным именем и использованием указанного родительского класс-загрузчика для делегирования.
Параметры:
name - имя класс-загрузчика; или null, если имя не указано
parent - родительский класс-загрузчик
Исключения:
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 Virtual Machine.
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 Virtual Machine.
cs - связанный CodeSource, или null, если нет
Возвращает:
объект Class, созданный из данных и необязательного CodeSource.
Исключения:
ClassFormatError - если данные не содержали допустимый класс
SecurityException - если есть попытка добавить этот класс в пакет, содержащий классы, подписанные другим набором сертификатов, или если имя класса начинается с "java.".
С:
1.5

getPermissions

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

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

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/SecureClassLoader.html

Spec-Zone.ru

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