Классы и Аннотации 2 Flashcards

1
Q

класс Resource

A

Это интерфейс, который представляет собой абстракцию над доступом к различным типам ресурсов, таким как файлы, ресурсы из classPass, ресурсы по URL, и другие источники.
Он используется для унифицированного доступа к любым ресурсам, независимо от их местоположения.
Делает код гибким и независимым от типа и местоположения данных, что упрощает их интеграцию в различные части системы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Основные задачи класса Resource

A

= Предоставление унифицированного доступа к различным типам ресурсов (файлы, URL, класспат ресурсы).
= Чтение содержимого ресурса через потоки ввода.
= Абстракция над типом ресурса: Код, работающий с Resource, не зависит от того, где находится ресурс.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Основные типы ресурсов с которыми работает класс Resource

A

= FileSystemResource: Представляет ресурс из файловой системы.
= ClasspathResource: Представляет ресурс, загружаемый из класспата (например, ресурсы внутри JAR-файлов).
= UrlResource:
Представляет ресурс, загружаемый через URL.
= ServletContextResource: Ресурс, загружаемый из веб-контекста (например, в веб-приложениях).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Основные методы интерфейса Resource

A

= getInputStream():
Возвращает InputStream для чтения содержимого ресурса.
= exists():
Проверяет, существует ли ресурс.
= isReadable():
Проверяет, можно ли читать содержимое ресурса.
= getFile():
Возвращает ресурс как объект File (если это файл в файловой системе).
= getURI() и getURL():
Возвращает URI или URL для ресурса.
= getDescription():
Возвращает описание ресурса (например, путь к файлу или URL).

Resource resource
= new ClassPathResource
(“data/file.txt”);
if (resource.exists()) {
InputStream inputStream = resource
.getInputStream();
// Чтение данных из файла
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

класс ResourceLoader

A

ResourceLoader — это интерфейс в Spring Framework, который предоставляет унифицированный способ для загрузки различных типов ресурсов, таких как файлы, URL-ресурсы, ресурсы из classPass и других источников.
Это удобный механизм для работы с внешними файлами и данными, необходимыми для приложения, независимо от их расположения.
Делает код гибким и независимым от типа и местоположения данных, что упрощает их интеграцию в различные части системы.
- Обеспечивает загрузку файлов, URL или других ресурсов с помощью строки пути.
- Позволяет загружать ресурсы независимо от их местоположения, используя простую строку и различные префиксы (например, classpath:, file:, http:).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Основные методы класса ResourceLoader

A
  • getResource(String location): Возвращает объект Resource, который представляет указанный ресурс.
  • getClassLoader(): Возвращает ClassLoader, который может использоваться для загрузки классов и ресурсов.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Класс ClassLoader

A

Это стандартный класс в Java, отвечающий за динамическую загрузку классов в JVM во время выполнения программы.
Он загружает классы и ресурсы (такие как файлы или другие данные), определяя их из файловой системы, сетевых источников или других мест.
Каждый загруженный класс в Java связан с определенным загрузчиком классов, что играет важную роль в модульности и изоляции в Java-программах.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Основные задачи ClassLoader

A

= Динамическая загрузка классов: Загрузчик классов загружает классы по мере их использования в программе, это позволяет JVM эффективно управлять памятью.
= Загрузка ресурсов:
Помимо классов, загрузчик может также загружать ресурсы, такие как файлы конфигураций, изображения и другие файлы, связанные с приложением.
= Модульность и изоляция классов:
Позволяет создавать несколько изолированных контекстов для работы с разными классами (например, в сервлет-контейнерах или в системах с плагинами).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Основные методы класса ClassLoader

A
  • loadClass(String name):
    Загружает класс по его полному имени.
  • getResource(String name):
    Возвращает ресурс как URL, загруженный загрузчиком классов.
  • getResourceAsStream(String name):
    Возвращает ресурс как InputStream.
  • getParent():
    Возвращает родительский загрузчик классов.
  • findClass(String name):
    Находит класс по его имени (обычно переопределяется при создании собственного загрузчика классов).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly