Instance: значение термина в IT¶
Instance (с англ. — «экземпляр», «случай», «пример») — в информатике и программировании термин, обозначающий конкретный реализованный объект определённого класса, процесса или виртуальной машины, созданный на основе шаблона (класса, образа, спецификации). В более широком смысле под instance понимается любой отдельный работающий экземпляр программного обеспечения или сервиса, запущенный в конкретной среде исполнения.
¶Значение в объектно-ориентированном программировании
В объектно-ориентированном программировании (ООП) instance (экземпляр класса) — это фундаментальное понятие. Класс описывает структуру и поведение (поля и методы), но сам по себе не занимает память и не выполняет действий. Экземпляр класса — это реальный объект, созданный во время выполнения программы на основе описания класса. Например, класс Автомобиль определяет свойства (марка, цвет, скорость) и методы (завести, тормозить). Конкретный автомобиль «Lada Vesta белого цвета с номером А123ВС» — это instance класса Автомобиль.
Процесс создания экземпляра называется инстанцированием (instantiation). В языках программирования для этого используется оператор new (Java, C++, C#, PHP) или вызов конструктора класса (Python, Ruby). Каждый созданный экземпляр имеет собственное состояние (значения полей), независимое от других экземпляров того же класса. При этом все экземпляры одного класса разделяют его методы (поведение).
Ключевое различие между классом и экземпляром: класс — это статическое описание (чертёж), а экземпляр — динамическая сущность, существующая в памяти в течение определённого времени жизненного цикла программы. В языках с автоматическим управлением памятью (Java, C#, Python) экземпляры удаляются сборщиком мусора, когда на них больше нет ссылок. В языках с ручным управлением (C++) требуется явное освобождение памяти.
¶Instance в базах данных и облачных вычислениях
В контексте баз данных термин instance (экземпляр СУБД) обозначает запущенный процесс системы управления базами данных (СУБД) вместе с областью памяти, обслуживающий одну или несколько баз данных. Например, в Oracle Database instance состоит из фоновых процессов и разделяемой памяти (SGA). Один экземпляр может обслуживать несколько баз данных, и наоборот — одна база данных может быть доступна через несколько экземпляров (кластерная конфигурация RAC).
В облачных вычислениях instance (виртуальная машина, compute instance) — это виртуальный сервер, запущенный на физическом оборудовании провайдера. Провайдеры облачных услуг (Amazon Web Services, Microsoft Azure, Яндекс Облако, VK Cloud) предоставляют пользователям возможность создавать и запускать виртуальные машины с заданными характеристиками (количество vCPU, объём RAM, размер диска). Каждая такая виртуальная машина называется instance. Пользователь может создавать множество экземпляров одного образа (шаблона) операционной системы, масштабируя вычислительные ресурсы по требованию.
¶Instance в других областях IT
Помимо ООП, баз данных и облаков, термин применяется в ряде других контекстов:
- Виртуальные машины и контейнеры: каждый запущенный контейнер (Docker, Podman) или виртуальная машина (VMware, VirtualBox) является экземпляром соответствующего образа.
- Серверные приложения: каждый запущенный процесс веб-сервера (Nginx, Apache) или сервера приложений называется экземпляром сервиса.
- Игровые серверы: в многопользовательских играх каждый отдельный игровой мир (например, подземелье в MMORPG) называется instance — он создаётся по запросу группы игроков и уничтожается после завершения.
- Машинное обучение: в контексте обучения моделей instance — это один элемент набора данных (одно наблюдение, одна строка таблицы признаков).
- Теория графов и алгоритмы: под instance задачи понимается конкретный набор входных данных, для которых требуется найти решение.
¶Связанные термины
Термин породил ряд производных понятий. Инстанцирование (instantiation) — процесс создания экземпляра. Инстанс-переменная (instance variable) — поле объекта, хранящее его индивидуальное состояние, в отличие от статической переменной класса, общей для всех экземпляров. Инстанс-метод (instance method) — метод, вызываемый на конкретном объекте и имеющий доступ к его данным.
В английском языке термин также используется в значении «пример» или «случай» (например, «in this instance» — «в данном случае»). В русскоязычной технической литературе часто используется транслитерация «инстанс», которая закрепилась в профессиональном сленге разработчиков и системных администраторов.
¶Пример использования
В языке Java создание экземпляра выглядит следующим образом:
```java class Car { String model; Car(String model) { this.model = model; } }
// Создание экземпляра класса Car Car myCar = new Car("Lada Vesta"); ```
Здесь myCar — это instance класса Car, имеющий собственное значение поля model. Можно создать сколько угодно экземпляров: Car yourCar = new Car("Toyota Camry") — каждый будет хранить своё состояние независимо.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →
