1. Обзор
В этом уроке мы собираемся обсудить, как объединить два массива в Java.
Во-первых, мы реализуем наши собственные методы с помощью стандартного Java API.
Затем мы рассмотрим, как решить проблему с помощью часто используемых библиотек.
Есть так много причин, по которым использование Javadoc является хорошей идеей. Например, мы можем сгенерировать HTML из нашего Java-кода, просмотреть их определения и обнаружить различные связанные с ними свойства.
Кроме того, это облегчает общение между разработчиками и улучшает ремонтопригодность . Java DocLint — это инструмент для анализа нашего Javadoc. Он выдает предупреждения и ошибки всякий раз, когда обнаруживает неверный синтаксис.
В этом уроке мы сосредоточимся на том, как мы можем его использовать. Позже мы рассмотрим проблемы, которые он может создать в определенных ситуациях, а также некоторые рекомендации о том, как их избежать.
В Java Path
и File
— это классы, отвечающие за файловые операции ввода-вывода. Они выполняют одни и те же функции, но относятся к разным пакетам.
В этом уроке мы обсудим различия между этими двумя классами. Мы начнем с краткого обзора класса. Затем мы поговорим о некоторых устаревших недостатках. Наконец, мы узнаем, как перенести функции между обоими API.
java.io.Файл
Начиная с самых первых версий, Java предоставляет собственный пакет java.io
, который содержит почти все классы, которые могут нам когда-либо понадобиться для выполнения операций ввода и вывода. Класс File
является абстрактным представлением путей к файлам и каталогам :
Когда метод Java превышает 65535 байт, мы получаем ошибку компиляции «слишком большой код» . В этой статье мы обсудим, почему возникает эта ошибка и как ее исправить.
Code_attribute — это таблица переменной длины в структуре method_info
спецификаций
JVM. Эта структура содержит инструкции JVM для метода, который может быть обычным методом или методом инициализации экземпляра, класса или интерфейса:
Code_attribute {
u2 attribute_name_index;
u4 attribute_length;
u2 max_stack;
u2 max_locals;
u4 code_length;
u1 code[code_length];
u2 exception_table_length;
{
u2 start_pc;
u2 end_pc;
u2 handler_pc;
u2 catch_type;
}
exception_table[exception_table_length];
u2 attributes_count;
attribute_info attributes[attributes_count];
}
В этой статье мы рассмотрим API java.util.Stream
и увидим, как мы можем использовать эту конструкцию для работы с бесконечным потоком данных/элементов.
Возможность работы с бесконечной последовательностью элементов основана на том факте, что потоки созданы ленивыми.
Эта ленивость достигается разделением двух типов операций, которые могут выполняться в потоках: промежуточные
и терминальные
операции.
В этом уроке мы поговорим об интерфейсах в Java. Мы также увидим, как Java использует их для реализации полиморфизма и множественного наследования.
В Java интерфейс — это абстрактный тип, содержащий набор методов и переменных-констант. Это одна из основных концепций Java, которая используется для достижения абстракции, полиморфизма и множественного наследования .
Давайте посмотрим на простой пример интерфейса на Java:
В этом уроке мы рассмотрим принципы чистого кодирования. Мы также поймем, почему важен чистый код и как этого добиться в Java. Кроме того, мы посмотрим, есть ли какие-либо инструменты, которые могут нам помочь.
Итак, прежде чем мы перейдем к деталям чистого кода, давайте разберемся, что мы подразумеваем под чистым кодом. Честно говоря, не может быть одного хорошего ответа на это. В программировании некоторые проблемы распространяются и, следовательно, приводят к общим принципам. Но с другой стороны, каждый язык программирования и парадигма представляют свой собственный набор нюансов, которые обязывают нас применять соответствующие методы.
В широком смысле чистый код можно охарактеризовать как код, который любой разработчик может легко прочитать и изменить . Хотя это может показаться чрезмерным упрощением концепции, позже в руководстве мы увидим, как это происходит. Везде, где мы слышим о чистом коде, мы, возможно, сталкиваемся с упоминанием Мартина Фаулера. Вот как он описывает чистый код в одном из мест:
В этой статье мы сначала разберемся с ключевым словом transient
, а затем рассмотрим его поведение на примерах.
переходного процесса
Давайте сначала разберемся с сериализацией, прежде чем перейти к переходу, поскольку
он используется в контексте сериализации.
Сериализация — это процесс преобразования объекта в поток байтов, а десериализация — противоположность ему .
Частные конструкторы позволяют ограничить создание экземпляров класса . Проще говоря, они предотвращают создание экземпляров класса в любом месте, кроме самого класса.
Публичные и частные конструкторы, используемые вместе, позволяют контролировать то, как мы хотим создавать экземпляры наших классов — это известно как делегирование конструктора.
Существует несколько шаблонов и преимуществ ограничения явного создания экземпляров классов, и в этом руководстве мы рассмотрим наиболее распространенные из них:
В предыдущем уроке мы видели, как можно использовать многострочные строки в любой версии Java.
В этом руководстве мы подробно рассмотрим, как использовать функцию текстовых блоков Java 15 для наиболее эффективного объявления многострочных строк.
Начиная с Java 15 текстовые блоки доступны в качестве стандартной функции. В Java 13 и 14 нам нужно было включить ее в качестве функции предварительного просмотра .