Перейти к основному содержимому

182 записи с тегом "Основы Java"

Посмотреть все теги

· 6 мин. чтения

1. Введение

Когда мы хотим скопировать объект в Java, нам нужно рассмотреть две возможности: поверхностную копию и глубокую копию .

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

В этом руководстве мы сравним эти два подхода и изучим четыре метода реализации глубокого копирования.

2. Настройка Мавена

· 6 мин. чтения

1. Обзор

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

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

2. Кадры стека и как возникает StackOverflowError

Начнем с основ. При вызове метода в стеке вызовов создается новый кадр стека . Этот кадр стека содержит параметры вызываемого метода, его локальные переменные и адрес возврата метода, т. е. точку, с которой выполнение метода должно продолжаться после возврата вызванного метода.

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим метод JNI RegisterNatives() , который используется для создания сопоставлений между функциями Java и C++.

Сначала мы объясним, как работает JNI RegisterNatives () . Затем мы покажем, как он используется в методе registerNatives() объекта java.lang.Object . Наконец, мы покажем, как использовать эту функциональность в нашем собственном коде Java и C++. ``

2. Метод JNI RegisterNatives

У JVM есть два способа найти и связать собственные методы с кодом Java. Первый — вызвать нативную функцию определенным образом , чтобы JVM могла ее найти. Другой способ — использовать метод JNI RegisterNatives() .

· 8 мин. чтения

1. Обзор

Язык программирования Java имеет восемь примитивных типов данных.

В этом уроке мы рассмотрим, что представляют собой эти примитивы, и рассмотрим каждый тип.

2. Примитивные типы данных

В Java определены восемь примитивов: int , byte , short , long , float , double , boolean и char . Они не считаются объектами и представляют необработанные значения.

· 4 мин. чтения

1. Обзор

В этом руководстве мы обсудим цикл for -each в Java, а также его синтаксис, работу и примеры кода. Наконец, мы поймем его преимущества и недостатки.

2. Простой цикл for

Простой цикл for в Java по существу состоит из трех частей — инициализации, логического условия и шага:

for (initialization; boolean-condition; step) {
statement;
}

· 10 мин. чтения

1. Введение

Недавно мы рассмотрели Creational Design Patterns и где их найти в JVM и других основных библиотеках. Теперь мы рассмотрим шаблоны поведенческого проектирования . Они сосредоточены на том, как наши объекты взаимодействуют друг с другом или как мы взаимодействуем с ними.

2. Цепочка ответственности

Шаблон цепочки ответственности позволяет объектам реализовывать общий интерфейс и для каждой реализации делегировать полномочия следующей, если это необходимо. Затем это позволяет нам построить цепочку реализаций, где каждая выполняет некоторые действия до или после вызова следующего элемента в цепочке :

interface ChainOfResponsibility {
void perform();
}

· 5 мин. чтения

1. Обзор

Структурные шаблоны проектирования — это те, которые упрощают проектирование структур больших объектов путем определения взаимосвязей между ними. Они описывают общие способы составления классов и объектов, чтобы их можно было повторять как решения.

« Банда четырех » описала семь таких структурных способов или паттернов. В этом кратком руководстве мы увидим примеры того, как некоторые основные библиотеки в Java адаптировали каждую из них .

2. Адаптер

Адаптер, как следует из названия, действует как посредник для преобразования несовместимого в других отношениях интерфейса в тот, который ожидает клиент .

· 11 мин. чтения

1. Введение

Шаблоны проектирования — это общие шаблоны, которые мы используем при написании нашего программного обеспечения . Они представляют собой устоявшиеся лучшие практики, разработанные с течением времени. Затем они могут помочь нам убедиться, что наш код хорошо спроектирован и хорошо построен.

Creational Patterns — это шаблоны проектирования, которые сосредоточены на том, как мы получаем экземпляры объектов . Обычно это означает, как мы создаем новые экземпляры класса, но в некоторых случаях это означает получение уже созданного экземпляра, готового для использования.

В этой статье мы собираемся вернуться к некоторым распространенным шаблонам креативного дизайна. Мы увидим, как они выглядят и где их найти в JVM или других основных библиотеках.

2. Заводской метод

· 5 мин. чтения

1. Обзор

В языке программирования Java поля, конструкторы, методы и классы могут быть помечены модификаторами доступа. В этом руководстве мы рассмотрим защищенный доступ.

2. Защищенное ключевое слово

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

Используя защищенное ключевое слово, мы принимаем решения о том, какие методы и поля следует считать внутренними элементами пакета или иерархии классов, а какие доступны для внешнего кода.

· 4 мин. чтения

1. Обзор

Поддержка try-with-resources, представленная в Java 7, позволяет нам объявлять ресурсы, которые будут использоваться в блоке try , с гарантией того, что ресурсы будут закрыты после выполнения этого блока.

Объявленные ресурсы должны реализовать интерфейс AutoCloseable .

2. Использование попытки с ресурсами