Сейчас ваша корзина пуста!
Overriding vs Overloading – в чем разница?
Выбор метода – это как выцеливание цели. Необходимо четко понимать как и чем она будет достигнута. Overriding и Overloading — это два разных механизма полиморфизма в Java, которые позволяют методы в классах обрабатывать вызовы разными способами. Однако они отличаются по своему предназначению и применению. 1. Overriding (Переопределение методов): Переопределение происходит, когда подкласс предоставляет свою собственную…
Здоровые (immutable) против мутантов (mutable) в Java – кто кого?
В Java объекты и примитивные типы делятся на mutable (изменяемые) и immutable (неизменяемые), в зависимости от возможности изменения их состояния после создания. 1. Immutable (неизменяемые) типы: 2. Mutable (изменяемые) типы: Как сделать класс неизменяемым: Чтобы создать immutable класс, необходимо: Пример неизменяемого класса: А в чем практическая разница? Практическая разница между mutable (изменяемыми) и immutable (неизменяемыми)…
Стирание типов в Java – о чем это и для чего?
Стирание типов (Type Erasure) — это механизм в языке Java, связанный с обобщениями (generics). Он был введен для того, чтобы обеспечить совместимость с кодом, написанным до появления обобщений, и сводится к тому, что информация о типах обобщений удаляется на этапе компиляции. В результате обобщенные типы (generics) не существуют в байт-коде JVM, и все операции с…
Как Java хранит объекты?
В Java объекты хранятся в динамической памяти, называемой кучей (heap). Управление памятью в Java основано на механизме автоматической сборки мусора (Garbage Collection), который периодически освобождает память, занимаемую объектами, к которым больше нет ссылок. 1. Структура памяти в Java Память в Java делится на две основные области: 2. Создание объектов Когда объект создается, например через: 3.…
Java – какие тенденции развития?
Тенденции развития Java связаны с несколькими ключевыми направлениями, которые отражают как эволюцию языка, так и адаптацию к современным вызовам и потребностям разработчиков. Вот основные из них: 1. Частые релизы и улучшение производительности 2. Постепенное введение новых языковых конструкций 3. Улучшение работы с многопоточностью и параллелизмом 4. Проект Panama – улучшение взаимодействия с “native” кодом 5.…
Интерфейс в Java – это класс?
Нет, строго говоря, интерфейс в Java не является классом. Это отдельный тип конструкции в языке программирования, предназначенный для определения абстрактных контрактов (наборов методов), которые классы могут реализовывать. Хотя интерфейсы и классы имеют общие черты (например, могут содержать методы), они выполняют разные роли и имеют принципиальные отличия. Отличия интерфейсов от классов: Пример интерфейса с методами по…
Семь нот программирования
Бит В основе всего был, есть и будет “бит” – минимльная единица информации. Бит содержит в себе ноль или единицу. Компьютер умеет записать в ячейку памяти единицу или стереть ее (обнулить), а так же прочитать состояние ячейки и ответить на вопрос, что в ней неходится – ноль или единица. Это основа всего компьютинга. Адрес/индекс Адрес…
Область видимости в Java
Понятие “область видимости” в Java применимо только к переменным или еще к чему-то? Отличный вопрос! В Java понятие области видимости (или scope) относится не только к переменным, но и к другим элементам программы, таким как методы и классы. Область видимости определяет, где элемент программы (например, переменная, метод, класс) может быть доступен и использован. Область видимости…
Откуда есть пошла Java
Язык программирования Java был создан Джеймсом Гослингом и Патриком Ноттоном, сотрудниками компании Sun Microsystems, при поддержке Билла Джоя, сооснователя Sun Microsystems. Компания Sun официально представила язык Java на конференции SunWorld 23 мая 1995 года. Затем, в 2009 году, компания Oracle купила компанию Sun и с тех пор язык принадлежит Oracle. Проект Java зародился в 1991…
Привет, Java!
Добро пожаловать в мир программирования на Java. Java используется в самых разных областях, включая разработку: Java — это мощный и универсальный язык программирования, который сочетает в себе простоту, производительность и безопасность. Он широко используется как для небольших проектов, так и для крупных корпоративных приложений, а его кроссплатформенность и широкая поддержка инструментов делают его особенно привлекательным…