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

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

1. Введение

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

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

2. Общие сведения о Java 8

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

1. Обзор

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

2. Ошибки времени компиляции

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

По сути, существует три типа ошибок времени компиляции:

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

1. Введение

Структура классов и инициализация — это основы, с которыми должен быть знаком каждый Java-программист. В этой статье даны ответы на некоторые вопросы интервью по теме, с которыми вы можете столкнуться.

Q1. Опишите значение конечного ключевого слова применительно к классу, методу, полю или локальной переменной.

Ключевое слово final имеет несколько разных значений применительно к разным языковым конструкциям:

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

1. Обзор

В этом руководстве мы узнаем о кеше LRU и рассмотрим его реализацию на Java.

2. LRU-кэш

Кэш-память наименее использовавшихся (LRU) — это алгоритм вытеснения кэша, который упорядочивает элементы в порядке их использования. В LRU, как следует из названия, элемент, который не использовался дольше всего, будет удален из кэша.

Например, если у нас есть кэш емкостью три элемента:

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

1. Введение

Класс String является одним из наиболее широко используемых классов в Java, что побудило разработчиков языка относиться к нему по-особому. Это особое поведение делает его одной из самых горячих тем на собеседованиях по Java.

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

2. Основы струн

Этот раздел состоит из вопросов, касающихся внутренней структуры и памяти String .

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

1. Введение

В этом руководстве мы обсудим, как сочетаются сущности JPA и интерфейс Java Serializable . Во-первых, мы рассмотрим интерфейс java.io.Serializable и зачем он нам нужен. После этого мы рассмотрим спецификацию JPA и Hibernate как наиболее популярную ее реализацию.

2. Что такое сериализуемый интерфейс?

Serializable — один из немногих интерфейсов маркеров, которые можно найти в ядре Java. Маркерные интерфейсы — это специальные интерфейсы без методов или констант.

Сериализация объектов — это процесс преобразования объектов Java в потоки байтов . Затем мы можем передавать эти потоки байтов по сети или хранить их в постоянной памяти. Десериализация — это обратный процесс , когда мы берем потоки байтов и преобразовываем их обратно в объекты Java. Чтобы разрешить сериализацию (или десериализацию) объектов, класс должен реализовать интерфейс Serializable . В противном случае мы столкнемся с java.io.NotSerializableException . Сериализация широко используется в таких технологиях, как RMI, JPA и EJB .

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

1. Обзор

Apache Maven — это мощный инструмент автоматизации сборки, используемый в основном для проектов Java. Maven использует объектную модель проекта или POM, которая содержит информацию о проекте и деталях конфигурации для создания проекта. Внутри POM мы можем определить свойства, которые можно использовать в самом POM или любом дочернем POM в многомодульном сконфигурированном проекте.

**Свойства Maven позволяют нам определять значения в одном месте и использовать их в нескольких разных местах в определении нашего проекта.

**

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

2. Значения по умолчанию в POM

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

1. Обзор

В этом руководстве мы рассмотрим концепцию распределенных сборок в архитектуре Jenkins. Кроме того, мы узнаем, как настроить архитектуру Jenkins master-slave . Кроме того, мы создадим конвейер на главном сервере Jenkins для запуска заданий сборки на подчиненных узлах.

2. Распределенные сборки

В идеале машина, на которую мы устанавливаем стандартный Jenkins, будет нашим мастером Jenkins . На машине подчиненного узла мы установим программу времени выполнения под названием Agent. Установка агента не будет стандартной установкой Jenkins, но этот агент будет работать на JVM. Его возможностей достаточно для запуска подзадачи или основной задачи Jenkins в выделенном исполнителе:

./5d256212da9f1169c084dca1a1b73664.jpg

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

1. Обзор

При работе с Kubernetes нам не хватает инструмента, помогающего в локальной разработке — инструмента, который может запускать локальные кластеры Kubernetes, используя контейнеры Docker в качестве узлов.

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

2. Настройка

В качестве предварительного условия мы должны убедиться, что Docker установлен в нашей системе. Самый простой способ установить Docker — использовать Docker Desktop , подходящий для нашей операционной системы (и процессора в случае macOS).