Spec-Zone.ru › OpenJDK 24

Класс ClassNotLoadedException

java.lang.Object
java.lang.Throwable
java.lang.Exception
com.sun.jdi.ClassNotLoadedException
Все реализованные интерфейсы:
Serializable
public class ClassNotLoadedException extends Exception
Выбрасывается, чтобы указать, что запрошенный класс еще не загружен через соответствующий загрузчик классов.

Из-за ленивой привязки классов, выполняемой многими виртуальными машинами, поле или переменная могут быть видимы в программе до загрузки связанного класса. До загрузки класса доступной является только строка подписи. Если выполняется попытка установить значение такого поля или переменной из JDI, соответствующая проверка типа не может быть выполнена, потому что целевой класс не загружен. То же самое относится к классу элементов массива.

Не рекомендуется решать эту проблему, пытаясь загрузить класс на лету в этом случае. Есть две проблемы в том, что отладчик загружает класс вместо ожидания загрузки его обычным способом.

  • Нет гарантии, что запуск соответствующего загрузчика классов не приведет к тупику при загрузке класса. Загрузчики классов могут состоять из произвольного кода языка программирования Java, а методы загрузки классов обычно синхронизированы. Большая часть работы, выполняемой отладчиком, выполняется при приостановке потоков. Если другой поток приложения приостановлен в рамках того же загрузчика классов, тупик очень вероятен.
  • Изменение порядка загрузки классов может либо скрыть, либо раскрыть ошибки в приложении. Ненавязчивый отладчик должен стремиться не изменять поведение отлаживаемого приложения.
Чтобы избежать этих потенциальных проблем, выбрасывается это исключение.

Обратите внимание, что это исключение будет выбрасываться до тех пор, пока класс не будет виден загрузчику классов содержащего класса. (То есть, загрузчик классов содержащего класса должен быть инициализирующим загрузчиком классов для данного класса.) Подробнее см. Спецификацию виртуальной машины Java.

С:
1.3
См. также:
  • Сериализованная форма

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

Конструктор Описание
ClassNotLoadedException(String className)
ClassNotLoadedException(String className, String message)

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

Модификатор и тип Метод Описание
String className()

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

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

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

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

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

ClassNotLoadedException

public ClassNotLoadedException(String className)

ClassNotLoadedException

public ClassNotLoadedException(String className, String message)

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

className

public String className()

© 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/jdk.jdi/com/sun/jdi/ClassNotLoadedException.html

Spec-Zone.ru

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