Шестнадцатеричный формат
Иногда нам нужно преобразовать строки в шестнадцатеричный формат, байты или символы. Начиная с Java 17 вы можете использовать класс HexFormat. Просто создайте экземпляр HexFormat, а затем вы можете отформатировать, например, входную таблицу byte в шестнадцатеричную строку. Вы также можете, например, преобразовать входную шестнадцатеричную строку в таблицу байтов, как показано выше.
Иногда нам нужно преобразовать строки в шестнадцатеричный формат, байты или символы. Начиная с Java 17 вы можете использовать класс HexFormat. Просто создайте экземпляр HexFormat, а затем вы можете отформатировать, например, входную таблицу byte в шестнадцатеричную строку. Вы также можете, например, преобразовать входную шестнадцатеричную строку в таблицу байтов, как показано выше.
Целью проекта Leyden является сокращение времени запуска программ, сокращение времени достижения пиковой производительности, а также сокращение занимаемой памяти Java программ.
Руководитель проекта Марк Рейнхольд недавно предложил расширить программную модель Java функциями для выборочного сдвига и ограничения вычислений с помощью "конденсоров" (condensor).
В предложенном сегодня видео Николай Парлог расскажет о будущем этого проекта.
Приятного просмотра!
https://youtu.be/QPWFjNroHls
Руководитель проекта Марк Рейнхольд недавно предложил расширить программную модель Java функциями для выборочного сдвига и ограничения вычислений с помощью "конденсоров" (condensor).
В предложенном сегодня видео Николай Парлог расскажет о будущем этого проекта.
Приятного просмотра!
https://youtu.be/QPWFjNroHls
YouTube
The Holy Grail of Java Performance - Inside Java Newscast #43
The goal of Project Leyden is to improve the startup time, time to peak performance, and footprint of Java programs. Project lead Mark Reinhold recently proposed to extend the Java programming model with features for selectively shifting and constraining…
Новость для багхантеров
Финтех-компания QIWI запустила программу Bug Bounty на платформе tumar.one. Искать уязвимости можно на доменах qiwi.com, qiwi.ru, contact-sys.com и их поддоменах, а также в мобильных приложениях QIWI. За продемонстрированные атаки на найденные уязвимости в основных сервисах компании белые хакеры могут получить денежное вознаграждение вплоть до $5 тыс. С подробными правилами участия можно ознакомиться в описании программы, предварительно пройдя регистрацию на платформе.
Финтех-компания QIWI запустила программу Bug Bounty на платформе tumar.one. Искать уязвимости можно на доменах qiwi.com, qiwi.ru, contact-sys.com и их поддоменах, а также в мобильных приложениях QIWI. За продемонстрированные атаки на найденные уязвимости в основных сервисах компании белые хакеры могут получить денежное вознаграждение вплоть до $5 тыс. С подробными правилами участия можно ознакомиться в описании программы, предварительно пройдя регистрацию на платформе.
Скачиваем видео с Youtube
VGet позволит вам скопировать видео с YouTube, используя только URL-адрес.
Как видите, первая строка кода в блоке try просто указывает URL-адрес YouTube.
В следующей строке указывается путь, по которому вы хотите сохранить загруженный файл.
Далее код создает экземпляр VGet. Это рабочий класс, который будет обрабатывать процесс загрузки.
Наконец, код вызывает download() метод VGet объекта.
Подробнее ознакомиться можно здесь.
VGet позволит вам скопировать видео с YouTube, используя только URL-адрес.
Как видите, первая строка кода в блоке try просто указывает URL-адрес YouTube.
В следующей строке указывается путь, по которому вы хотите сохранить загруженный файл.
Далее код создает экземпляр VGet. Это рабочий класс, который будет обрабатывать процесс загрузки.
Наконец, код вызывает download() метод VGet объекта.
Подробнее ознакомиться можно здесь.
Разбираем необходимый для каждого разработчика минимум знаний и навыков работы с git в консоли. Что такое репозиторий, коммит, ветки и конфликты при их слиянии, как с этим работать — все в одном видео: https://youtu.be/dHlhCO56Pv0
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
GIT ДЛЯ РАЗРАБОТЧИКА. Урок по гиту для начинающих— Обзор системы контроля версий
Вебинар-урок по гиту в рамках курса по Backend - разработке на Java.
Разбираем необходимый для каждого разработчика минимум знаний и навыков работы с git в консоли. Что такое репозиторий, коммит, ветки и конфликты при их слиянии, как с этим работать — все…
Разбираем необходимый для каждого разработчика минимум знаний и навыков работы с git в консоли. Что такое репозиторий, коммит, ветки и конфликты при их слиянии, как с этим работать — все…
Обработка исключений в Java с использованием сопоставления с образцом (pattern matching).
https://habr.com/ru/post/721326/
https://habr.com/ru/post/721326/
Хабр
Обработка исключений в Java с использованием сопоставления с образцом (pattern matching)
Обработка исключений в Java с использованием сопоставления с образцом (pattern matching). Данная статья является логическим продолжением статей Обработка исключений в Java в функциональном стиле и...
#вопросы_с_собеседований
Создание бесконечного цикла на пустом месте
Дан блок кода (см картинку). Дополните его так, чтобы цикл стал бесконечным.
«Ничего сложного», — скажете вы. Скорее всего, вы не раз попадали в такую историю: решая задачи по Java, вы создавали бесконечный цикл и думали, как от него избавиться. Тут же наоборот. Хитрость в том, что сам цикл и условия выхода из него менять нельзя. Есть только две итерации. Тем не менее, их вполне достаточно, чтобы создать бесконечный цикл.
Похоже, что он должен работать только для двух итераций, но его можно сделать бесконечным, за счет использования переполнения. Уже догадались, как?
Создание бесконечного цикла на пустом месте
Дан блок кода (см картинку). Дополните его так, чтобы цикл стал бесконечным.
«Ничего сложного», — скажете вы. Скорее всего, вы не раз попадали в такую историю: решая задачи по Java, вы создавали бесконечный цикл и думали, как от него избавиться. Тут же наоборот. Хитрость в том, что сам цикл и условия выхода из него менять нельзя. Есть только две итерации. Тем не менее, их вполне достаточно, чтобы создать бесконечный цикл.
Похоже, что он должен работать только для двух итераций, но его можно сделать бесконечным, за счет использования переполнения. Уже догадались, как?
Мягкое удаление в Hibernate: неочевидные факты
Мягкое удаление (soft deletion) — это популярная в энтерпрайз разработке стратегия удаления, когда вместо физического стирания та или иная запись помечается как удаленная, а потом фильтруется во всех запросах на чтение. Применение мягкого удаления может быть оправдано целым набором требований: аудит, возможность восстановления удаленных записей, а иногда необходимо уметь удалять данные, при этом сохраняя на них ссылки из других записей…
Нам, как авторам JPA Buddy (плагина для IntelliJ), пришлось с этим плотно разбираться. В этой статье мы рассмотрим детали, которые зачастую не упоминаются в большинстве публикаций по этой теме, хотя крайне важны для принятия решения о способе реализации мягкого удаления в вашем приложении. Давайте посмотрим, с чем вы, вероятно, намучаетесь.
Читать статью
Мягкое удаление (soft deletion) — это популярная в энтерпрайз разработке стратегия удаления, когда вместо физического стирания та или иная запись помечается как удаленная, а потом фильтруется во всех запросах на чтение. Применение мягкого удаления может быть оправдано целым набором требований: аудит, возможность восстановления удаленных записей, а иногда необходимо уметь удалять данные, при этом сохраняя на них ссылки из других записей…
Нам, как авторам JPA Buddy (плагина для IntelliJ), пришлось с этим плотно разбираться. В этой статье мы рассмотрим детали, которые зачастую не упоминаются в большинстве публикаций по этой теме, хотя крайне важны для принятия решения о способе реализации мягкого удаления в вашем приложении. Давайте посмотрим, с чем вы, вероятно, намучаетесь.
Читать статью
Хабр
Мягкое удаление в Hibernate: неочевидные факты
Мягкое удаление (soft deletion) — это популярная в энтерпрайз разработке стратегия удаления, когда вместо физического стирания та или иная запись...
Java 17: Pattern Matching for switch
14-го сентября состоялась презентация Apple, в этот же день произошло не менее важное событие - релиз Java 17.
Среди новых фич подъехал паттерн матчинг для switch в preview моде JEP 406.
История началась с того, что в jdk 16 расширили instanceof оператор, который теперь может принимать type pattern и выполнять матчинг по паттерну.
Читать статью
14-го сентября состоялась презентация Apple, в этот же день произошло не менее важное событие - релиз Java 17.
Среди новых фич подъехал паттерн матчинг для switch в preview моде JEP 406.
История началась с того, что в jdk 16 расширили instanceof оператор, который теперь может принимать type pattern и выполнять матчинг по паттерну.
Читать статью
Хабр
Java 17: Pattern Matching for switch
14-го сентября состоялась презентация Apple, в этот же день произошло не менее важное событие - релиз Java 17. Среди новых фич подъехал паттерн матчинг для switch в preview моде JEP 406 . История...
#вопросы_с_собеседований
Каким будет результат сравнения в следующем коде?
Ответ:
s1 == s2 ? true
s1 == s3 ? false
s1 equals s3 ? true
Вопрос на понимание работы пула строк в Java и на понимание сравнения строк. Разберем детально: Переменная s1 ссылается на строку в пуле уникальных строк в памяти, переменная s2 ссылается на ту же саму строку в пуле уникальных строк, что и переменная s1, первое сравнение будет true, так как s1 и s2 ссылаются на один и тот же объект. Переменная s3 ссылается на новый объект, который не находится в пуле уникальных строк, так как он создан через new, следовательно второе сравнение будет false, так как сравниваем переменные которые ссылаются на на два разных объекта. Третье сравнение будет true, так как мы сравниваем строки посимвольно на эквивалентность через equals, а содержимое данных строк одинаково.
Каким будет результат сравнения в следующем коде?
Ответ:
s1 == s2 ? true
s1 == s3 ? false
s1 equals s3 ? true
Вопрос на понимание работы пула строк в Java и на понимание сравнения строк. Разберем детально: Переменная s1 ссылается на строку в пуле уникальных строк в памяти, переменная s2 ссылается на ту же саму строку в пуле уникальных строк, что и переменная s1, первое сравнение будет true, так как s1 и s2 ссылаются на один и тот же объект. Переменная s3 ссылается на новый объект, который не находится в пуле уникальных строк, так как он создан через new, следовательно второе сравнение будет false, так как сравниваем переменные которые ссылаются на на два разных объекта. Третье сравнение будет true, так как мы сравниваем строки посимвольно на эквивалентность через equals, а содержимое данных строк одинаково.
В данном видео автор разбирает вопросы по классу Object на собеседование для начинающих Java разработчиков. Это вопросы из его личного списка, те что он сам время от времени задаёт.
https://youtu.be/gmS0aaqgOXQ
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Класс Object. Разбор вопросов на собеседование.
В данном видео я разбираю вопросы по классу Object на собеседование для начинающих Java разработчиков. Это вопросы из моего личного списка, те что я сам время от времени задаю.
Привожу их тут, чтобы помочь в подготовке, так как практика показывает, что…
Привожу их тут, чтобы помочь в подготовке, так как практика показывает, что…
#вопросы_с_собеседований
Можно ли одновременно использовать в сервлете PrintWriter и ServletOutputStream?
Ответ:
Так сделать не получится, т.к. при попытке одновременного вызова getWriter() и getOutputStream() будет выброшено исключение java.lang.IllegalStateException с сообщением, что уже был вызван другой метод.
Можно ли одновременно использовать в сервлете PrintWriter и ServletOutputStream?
Ответ: