Перейти к содержанию

Рубрика «Java Core»

Стек (stack) и куча (heap) в Java

Для оптимального запуска приложения JVM делит память на стек (stack) и динамическую память (heap). Всякий раз, когда объявляем новые переменные и объекты, вызываем новый метод, объявляем String или выполняем аналогичные операции, JVM выделяет память для этих операций либо из памяти стека, либо из кучи. В этом руководстве рассмотрим эти модели памяти. Во-первых, рассмотрим их ключевые …

Примитивы против объектов в Java

В этом руководстве покажем плюсы и минусы использования примитивных типов Java и их обернутых аналогов. Система типов Java Java имеет двойную систему типов, состоящую из примитивов, таких как int, boolean, и ссылочных типов, таких как Integer, Boolean. Каждый примитивный тип соответствует ссылочному типу. Каждый объект содержит одно значение соответствующего примитивного типа. Классы-оболочки являются неизменяемыми (immutable) …

Руководство по пакетам в Java

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

Передача по значению как механизм передачи параметров в Java

Двумя наиболее распространенными способами передачи аргументов методам являются «передача по значению» и «передача по ссылке». Различные языки программирования используют эти концепции по-разному. Что касается Java, все строго передается по значению. В этом руководстве рассмотрим, как Java передает аргументы для различных типов. Передача по значению против передачи по ссылке Есть несколько механизмов передачи параметров функциям: по …

Руководство по созданию объектов в Java

Прежде чем сможем работать с объектом в JVM, его необходимо инициализировать. В следующих разделах рассмотрим различные способы инициализации примитивных типов и объектов. Объявление против инициализации Начнем с того, что убедимся, что мы на одной странице. Объявление – это процесс определения переменной вместе с ее типом и именем. Здесь объявляем переменную id: Инициализация заключается в присвоении …

Наследование в Java

Один из основных принципов объектно-ориентированного программирования – наследование – позволяет повторно использовать существующий код или расширять существующий тип. Проще говоря, в Java класс может наследовать другой класс и несколько интерфейсов, а интерфейс может наследовать другие интерфейсы. В этой статье начнем с необходимости наследования и перейдем к тому, как наследование работает с классами и интерфейсами. Затем …

Руководство по hashCode() в Java

Хеширование является фундаментальной концепцией информатики. В Java эффективные алгоритмы хеширования стоят за некоторыми из самых популярных коллекций, таких как HashMap (ознакомьтесь с этой подробной статьей) и HashSet. В этой статье рассмотрим, как работает hashCode(), как он работает с коллекциями и как его правильно реализовать. Использование hashCode() в структурах данных Простейшие операции над коллекциями могут оказаться …

Как сохранить HashMap внутри List

В этом руководстве обсудим, как хранить HashMap внутри List в Java. Во-первых, будет краткое объяснение структур данных HashMap и List в Java. Затем напишем простой код для решения проблемы. HashMap и List в Java Java предоставляет различные структуры данных с различными свойствами и характеристиками для хранения объектов. HashMap – это набор пар ключ-значение, который сопоставляет …

Implements и Extends в Java

В этом руководстве обсудим наследование, одну из важнейших концепций объектно-ориентированного программирования. В Java два основных ключевых слова, используемых для наследования, — это extends и implements. Extends или implements Обсудим различия между обоими ключевыми словами. Мы используем ключевое слово extends для наследования свойств и методов класса. Класс, выступающий в роли родителя, называется базовым классом, а класс, …

List против ArrayList в Java

В этой статье рассмотрим различия между использованием типов List и ArrayList. Во-первых, увидим пример реализации с использованием ArrayList. Затем переключимся на интерфейс List и сравним различия. Использование ArrayList ArrayList – одна из наиболее часто используемых реализаций List в Java. Он построен на основе массива, который может динамически увеличиваться и уменьшаться по мере добавления или удаления …