Ответы пользователя по тегу Программирование
  • Для чего используются "методы по умолчанию" на практике?

    @sirs
    В java 8 default methods были добавлены в первую очередь для того, чтобы добавить новые методы к старым интерфейсам и сохранить совместимость с уже существующим кодом.
    Самый яркий пример - интерфейс Collection и метод stream

    P. S. Очень хорошее обсуждение здесь
    Ответ написан
    Комментировать
  • Парсинг целого стринга на различные аттрибуты(производительность)?

    @sirs
    Попробуйте использовать Google Guava Splitter.

    P.S. Если честно то кажется, что Вы занимаетесь преждевременной оптимизацией. Обычно пишут самый простой/быстрый/очевидный вариант и проверяют как работает под нагрузкой, а уже потом при необходимости начинают его улучшать.
    Ответ написан
    1 комментарий
  • Как написать агента MBean для JMX?

    @sirs
    попробуйте назвать свой интрефейс TestIMBean
    Ответ написан
  • Какие примеры правильного Java кода можно привести?

    @sirs
    Что-то мне подсказывает, что вы ищете серебряную пулю, но ее не существует.
    Нет такого понятия как идеальный код, идеальный паттерн, идеальная обработка исключений и т.д.
    Каждый паттерн, каждое архитектурное решение отлично подходит под какого-то круга задач, но этот круг задач всегда ограничен. Нелья написать код и сказать, что это эталон. Если все так было просто, задачу написания кода давно бы уже автоматизировали на 100%.
    То, что вы ищете, может придти только с опытом и со временем.
    Примеры решения конкретных проблем - ищите на stackoverflow, "красивое" оформление кода - в опенсорсных фреймворках на гитхабе (https://github.com/spring-projects/spring-framework).
    Ответ написан
    2 комментария
  • Насколько полезен Hibernate? Сильно ли он упрощает работу?

    @sirs
    Полезен или нет зависит от вашего проекта. Если у вас парочка сущностей и 10 методов, в которых идёт обращение к базе - тогда хибернейт вам не нужен. Если у вас большой, растущий проект, где десятки и сотни сущностей и много CRUD операций - без JPA, hibernate, spring data и т.д. вам не обойтись. Хибернейт сильно упрощает жизнь в простых вещах, но сильно усложняет в сложных. Также можно рассмотреть профит применения хибернейта как получение кэша нескольких уровней из коробки.
    Посмотрите литературу в общем по ORM проблеме и JPA, без привязке к конкретной реализации, которой и является хибернейт.

    П.С. А добавлять какой-то код или логику в сеттеры я бы крайне не рекомендовал. Есть набор заповедей хорошего разработчика - SOLID, первый принцип - Single responsibility - "каждый объект должен иметь одну обязанность и эта обязанность должна быть полностью инкапсулирована в класс". А в вашем случае есть какая-то модель/бин - который в полях содержит данные - это и есть его единственная обязанность, а логика по чтению-записи в базу не должна этот объект интересовать в принципе.
    Ответ написан
    Комментировать
  • Какие есть инструменты для максимальной автоматизации работы с MySQL на Java?

    @sirs
    Начните смотреть с JPA. Потом постепенно переходите к перечисленным выше его фреймворкам-реализациям и выберите тот, который больше всего вам подходит.
    Ответ написан
    Комментировать
  • Какие алгоритмические задачи могут быть на собеседовании по Java?

    @sirs
    Смотря о какой позиции java dev идет речь. Если идете в веб, то можете забыть об "инвертировать массив".
    Посмотрите лучше паттеры (шаблоны) проектирования:
    -Паттерны создания объектов (creational): Singleton, Builder, Abstract Factory и т.д.
    -Структурные паттерны (structural): Adapter, Composite, Facade и т.д.
    -Паттерны поведения (behavioral): Chain of Responsibility, Interpreter, Command, Mediator.
    ...
    Также часто спрашивают, что лежит в основе коллекций, например ArrayList, HashSet, различные Queue. Например чем отличается внутренняя структура TreeSet от HashSet, что происходит при добавление элемента в TseeSet и что происходит при добавление элемента в HashSet и т.д.
    Ответ написан
    4 комментария