Какой символ является разделителем при указании пути в файловой системе?
Для различных операционных систем символ разделителя различается. Для Windows это \, для Linux — /.
В Java получить разделитель для текущей операционной системы можно через обращение к статическому полю File.separator.
Для различных операционных систем символ разделителя различается. Для Windows это \, для Linux — /.
В Java получить разделитель для текущей операционной системы можно через обращение к статическому полю File.separator.
Надежный способ проверить, равны ли два значения типа double
Наиболее надежный и точный способ проверить это — использовать Dоuble.соmpare() и сравнить значение с нулем.
Результаты сравнений при помощи Double.compare():
Значение = 0, если d1 == d2;
Значение < 0, если d1 < d2;
Значение > 0, если d1 > d2.
Наиболее надежный и точный способ проверить это — использовать Dоuble.соmpare() и сравнить значение с нулем.
Результаты сравнений при помощи Double.compare():
Значение = 0, если d1 == d2;
Значение < 0, если d1 < d2;
Значение > 0, если d1 > d2.
Аннотация @Entity
Аннотация @Entity используется в Java для обозначения класса, который является сущностью. Сущность — это объект, который представляет собой строку данных в базе данных.
Чтобы класс был объявлен сущностью, необходимо добавить к нему аннотацию @Entity. Аннотация @Entity сообщает фреймворку JPA, что класс Customer является сущностью и должен быть сохранен в базе данных.
Аннотация @Entity используется в Java для обозначения класса, который является сущностью. Сущность — это объект, который представляет собой строку данных в базе данных.
Чтобы класс был объявлен сущностью, необходимо добавить к нему аннотацию @Entity. Аннотация @Entity сообщает фреймворку JPA, что класс Customer является сущностью и должен быть сохранен в базе данных.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что обозначает ключевое слово transient?
Поля класса, помеченные модификатором transient, не сериализуются.
Обычно в таких полях хранится промежуточное состояние объекта, которое, к примеру, проще вычислить. Другой пример такого поля — ссылка на экземпляр объекта, который не требует сериализации или не может быть сериализован.
Поля класса, помеченные модификатором transient, не сериализуются.
Обычно в таких полях хранится промежуточное состояние объекта, которое, к примеру, проще вычислить. Другой пример такого поля — ссылка на экземпляр объекта, который не требует сериализации или не может быть сериализован.
Как можно уничтожить объект в Java?
Anonymous Quiz
37%
Этого нельзя сделать вручную
13%
Вызвать деструктор у объекта
18%
Вызвать метод finalize() у объекта
31%
Присвоить null всем ссылкам на объект
Класс MathContext
Класс MathContext используется для указания точности вычислений с плавающей запятой. Он определяет два параметра:
precision — количество знаков после запятой, которые должны сохраняться в результате вычислений.
roundingMode — способ округления значений, которые не могут быть точно представлены с заданной точностью.
По умолчанию точность вычислений в Java равна 16 знакам после запятой, а режим округления — HALF_UP.
Класс MathContext используется для указания точности вычислений с плавающей запятой. Он определяет два параметра:
precision — количество знаков после запятой, которые должны сохраняться в результате вычислений.
roundingMode — способ округления значений, которые не могут быть точно представлены с заданной точностью.
По умолчанию точность вычислений в Java равна 16 знакам после запятой, а режим округления — HALF_UP.
Почему строка является популярным ключом в HashMap в Java?
Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.
Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.
Можно ли в конструкторе использовать return?
Можно, но без возвращаемого значения справа от return. То есть можно использовать return как вспомогательную конструкцию при вычислениях в конструкторе, чтобы срочно закончить (прервать) выполнение дальнейшего кода и завершить инициализацию объекта.
Например, у нас есть класс Cat, и если Cat бездомный — isHomeless = true, нам нужно закончить инициализацию и не заполнять другие поля (ведь они нам неизвестны, так как котик бездомный).
Но если говорить о конкретных значениях, конструктор не может использовать return для возврата какого-то значения, потому что:
⏺️ При объявлении конструктора у вас не будет ничего похожего на возвращаемый тип;
⏺️ Как правило, конструктор неявно вызывается во время создания экземпляра;
⏺️ Конструктор — это не метод: это отдельный механизм, единственная цель которого — инициализировать переменные экземпляра.
Можно, но без возвращаемого значения справа от return. То есть можно использовать return как вспомогательную конструкцию при вычислениях в конструкторе, чтобы срочно закончить (прервать) выполнение дальнейшего кода и завершить инициализацию объекта.
Например, у нас есть класс Cat, и если Cat бездомный — isHomeless = true, нам нужно закончить инициализацию и не заполнять другие поля (ведь они нам неизвестны, так как котик бездомный).
Но если говорить о конкретных значениях, конструктор не может использовать return для возврата какого-то значения, потому что:
⏺️ При объявлении конструктора у вас не будет ничего похожего на возвращаемый тип;
⏺️ Как правило, конструктор неявно вызывается во время создания экземпляра;
⏺️ Конструктор — это не метод: это отдельный механизм, единственная цель которого — инициализировать переменные экземпляра.
Какими значениями инициализируются переменные по умолчанию?
Ответ: Числа инициализируются 0 или 0.0; char — \u0000; boolean — false; Объекты (в том числе String) — null.
Ответ: Числа инициализируются 0 или 0.0; char — \u0000; boolean — false; Объекты (в том числе String) — null.
Какие классы позволяют ускорить чтение/запись за счет использования буфера?
• BufferedInputStream(InputStream in)/ BufferedInputStream(InputStream in, int size),
• BufferedOutputStream(OutputStream out)/BufferedOutputStream(OutputStream out, int size),
• BufferedReader(Reader r)/BufferedReader(Reader in, int sz),
• BufferedWriter(Writer out)/BufferedWriter(Writer out, int sz)
• BufferedInputStream(InputStream in)/ BufferedInputStream(InputStream in, int size),
• BufferedOutputStream(OutputStream out)/BufferedOutputStream(OutputStream out, int size),
• BufferedReader(Reader r)/BufferedReader(Reader in, int sz),
• BufferedWriter(Writer out)/BufferedWriter(Writer out, int sz)
Для чего используется оператор assert?
Оператор assert используется для проверки условий во время выполнения программы.
Он позволяет проверить истинность некоторого логического выражения и выбросить исключение AssertionError, если выражение ложно.
Основные применения assert:
⚡️ Проверка предусловий и постусловий в методах.
⚡️ Проверка инвариантов в критических секциях кода.
⚡️ Отладка при разработке, чтобы проверить ожидаемое состояние программы в определенных точках.
⚡️ Проверка условий в потенциально опасных ситуациях, например при работе с массивами.
assert лучше использовать для отладки и проверки инвариантов, а для критически важных проверок предусловий лучше применять явную проверку условий и выброс исключений.
Оператор assert используется для проверки условий во время выполнения программы.
Он позволяет проверить истинность некоторого логического выражения и выбросить исключение AssertionError, если выражение ложно.
Основные применения assert:
⚡️ Проверка предусловий и постусловий в методах.
⚡️ Проверка инвариантов в критических секциях кода.
⚡️ Отладка при разработке, чтобы проверить ожидаемое состояние программы в определенных точках.
⚡️ Проверка условий в потенциально опасных ситуациях, например при работе с массивами.
assert лучше использовать для отладки и проверки инвариантов, а для критически важных проверок предусловий лучше применять явную проверку условий и выброс исключений.
StringTokenizer
StringTokenizer — это класс в Java, который используется для разбиения строки на токены. Токены — это отдельные части строки, разделенные символами-разделителями.
Создание объекта StringTokenizer:
StringTokenizer st = new StringTokenizer(строка, разделители);
строка — это строка, которую нужно разбить на токены.
разделители — это строка, содержащая символы-разделители.
StringTokenizer — это класс в Java, который используется для разбиения строки на токены. Токены — это отдельные части строки, разделенные символами-разделителями.
Создание объекта StringTokenizer:
StringTokenizer st = new StringTokenizer(строка, разделители);
строка — это строка, которую нужно разбить на токены.
разделители — это строка, содержащая символы-разделители.
Micronaut
Micronaut — это относительно новый фреймворк для разработки микросервисов на Java.
Основные преимущества — высокая производительность, низкое потребление памяти, интеграция с популярными технологиями микросервисов.
Фреймворк активно развивается и используется в продакшене несколькими крупными компаниями.
Области применения:
— Разработка высокопроизводительных микросервисов. Micronaut оптимизирован для создания легковесных микросервисов с минимальным использованием ресурсов.
— Построение serverless-приложений. Благодаря низким накладным расходам при старте фреймворк хорошо подходит для бессерверных архитектур на основе функций.
— Быстрая разработка микросервисов. Фреймворк содержит много готовой инфраструктуры для разработки, позволяя быстрее создавать сервисы.
— Интеграция с GraalVM. Micronaut оптимизирован для работы со средой исполнения GraalVM, что дает дополнительное ускорение.
Micronaut — это относительно новый фреймворк для разработки микросервисов на Java.
Основные преимущества — высокая производительность, низкое потребление памяти, интеграция с популярными технологиями микросервисов.
Фреймворк активно развивается и используется в продакшене несколькими крупными компаниями.
Области применения:
— Разработка высокопроизводительных микросервисов. Micronaut оптимизирован для создания легковесных микросервисов с минимальным использованием ресурсов.
— Построение serverless-приложений. Благодаря низким накладным расходам при старте фреймворк хорошо подходит для бессерверных архитектур на основе функций.
— Быстрая разработка микросервисов. Фреймворк содержит много готовой инфраструктуры для разработки, позволяя быстрее создавать сервисы.
— Интеграция с GraalVM. Micronaut оптимизирован для работы со средой исполнения GraalVM, что дает дополнительное ускорение.