Задать вопрос
  • Как лучше проверять ввод пользователя?

    avleonov97
    @avleonov97
    Java разработчик
    Приветствую! Вы задаёте очень хорошие вопросы)

    Если вы стремитесь к профессиональному росту, важно следовать принципам и концепциям разработки программного обеспечения. Например:
    • Конструкцию switch с 1-2 случаями лучше заменять на if-else. Нет смысла использовать такую громоздкую конструкцию для всего двух вариантов.
    • Кроме того, каждый case в switch требует обязательного использования break, return или throw.
    • Также рекомендуется добавлять блок default для обработки неизвестных команд.

    В качестве полезного совета: попробуйте подключить плагин SonarQube в вашу среду разработки. В нём есть набор правил (rules), которые покрывают подобные случаи. Это позволит вам получать рекомендации по использованию таких конструкций прямо в IDE.
    Ответ написан
    Комментировать
  • Почему Java Flight Recorder в Spring Boot не пишет в файл?

    avleonov97
    @avleonov97
    Java разработчик
    Здравствуйте!

    Имею значительный опыт работы с Java Flight Recorder и сталкивался с различными ошибками при его использовании. Хочу отметить, что JFR весьма чувствителен к версиям Java и их поставщикам. В настоящее время существует множество кастомных сборок JDK, которые могут содержать изменения, влияющие на работу профилировщика.

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

    Также хочу обратить внимание на параметры запуска. Вы указали duration=10s — это время записи метрик, однако я не уверен, что ваше приложение успевает полностью запуститься за этот промежуток. Вполне вероятно, что JFR не успевает произвести запись из-за недостаточного времени.

    Рекомендую начать с минимальной конфигурации и постепенно добавлять параметры:

    -XX:StartFlightRecording=settings=default,name=alex


    После успешного запуска можно последовательно добавлять другие параметры, сверяясь с официальной документацией:
    https://docs.oracle.com/en/java/javase/11/docs/api...

    Такой подход поможет точно определить, какой именно параметр вызывает проблему.

    Также можно использовать официальную утилиту JFR, которая входит в состав JDK. Она позволяет запустить запись метрик через графический интерфейс и сохранить результаты в отдельный файл.

    Буду благодарен, если дадите обратную связь по итогу. Спасибо!
    Ответ написан
    Комментировать
  • Почему крашится сервер Minecraft Forge?

    avleonov97
    @avleonov97
    Java разработчик
    Приветствую, присоединяюсь к предыдущему комментарию. Действительно, для устойчивого решения проблемы важно устранить первопричину такого поведения, которая, вероятнее всего, связана с настройками IP-адресации.

    Если же мы рассматриваем исправление последствий, то, судя по описанию ошибки, можно предположить проблему при загрузке классов:

    Transformer Audit:
      net.minecraft.server.MinecraftServer
        REASON: classloading
        PLUGIN: accesstransformer:BEFORE


    Данная ошибка указывает на нарушение целостности зависимостей. Возможно, отсутствует необходимый JAR-файл в директории lib (если не ошибаюсь в названии - давно уже не администрировал minecraft сервера).

    Если вы не производили очистку этой директории от так называемого "мусора", то проблема, скорее всего, в самом репаке. В таком случае стоит рассмотреть альтернативные версии minecraft сервера.

    Отмечу, что к JAR-файлам в директории lib, которые поставляются в составе сервера на официальном сайте поставщика, следует относиться внимательно - как правило, все они являются необходимыми для корректной работы.

    Буду благодарен, если дадите обратную связь по итогу
    Ответ написан
    Комментировать