В последние годы крутые джависты нарасхват, а вот начинающим специалистам найти работу сложнее. Чтобы выделиться среди других Java-разработчиков, нужны углубленные знания и нюансы языка.
28 марта в OTUS состоится юбилейный 15-й запуск курса «Разработчик Java», где за 5 месяцев практики вы прокачаете свои навыки до уверенного Middle. Это один из самых востребованных наших курсов: приглашаем посмотреть программу и пройти вступительный тест.
А пока мы считаем дни до старта, подобрали для вас 22 полезных статьи по Java. Сохраняйте в закладки и осваивайте.
1. Как отличить хороший код от плохого?
По статистике каждую минуту создаются тысячи строк кода во всем мире. Однако не всегда он одинаково качественен.
2. MyBatis или Hibernate?
От ответа зависит архитектура проекта, а ответ, в свою очередь, зависит от задачи. Давайте разберёмся, что они такое и когда какой лучше.
3. Как узнать, что память, которую занимал объект, освобождена?
В некоторых языках сделать это просто: вызвал delete, и можешь быть уверен – памяти стало больше.
4. Сколько времени нужно, чтобы найти элемент в HashSet?
Правильный ответ – константное время, конечно при хорошей hash-функции. А в секундах это сколько?
5. Объясните, что такое сервер?
Есть разработчики сервера, есть серверные приложения, есть курсы по серверной разработке. А сам предмет разработки это что?
6. Что такое «углублённые основы» в Java?
Рассмотрим следующий базовый вопрос: как создать объект в Java? Первый и самый правильный ответ: через оператор new...
7. Кто круче: Maven или Gradle?
Таким вопросом часто задаются начинающие разработчики, выбирая лучший сборщик для своего Java-проекта…
8. Service Provider Interface (SPI)
Представьте, повысили вас до ведущего разработчика! Вы заходите в почту, чтобы должность в подписи поменять, а там...
9. Асинхронный CompletableFuture. Часть 1
Иногда нужно выполнить асинхронно какой-нибудь код. В Java можно создать поток и выполнить в нём нужное действие
10. Асинхронный CompletableFuture. Часть 2
У CompletableFuture есть ещё интересные функции. Например, надо построить цепочку из асинхронных вызовов.
11. Chain Of Responsibility
Если необходимо добавить условие поиска или изменить порядок условий, то можно и вовсе запутаться в этом коде и наделать глупых ошибок.
12. Что под капотом Spring Data JPA?
Ничего нового – обычный Java Reflection API. Да, долой boilerplate code! И никаких SQL, HQL или JPQL! Впечатляемся элегантностью кода.
13. Комментарии в коде: почему, зачем и как?
Разбираемся, когда комментарии полезны, когда вредны, когда нужно вводить правила написания комментариев и т.д.
14. Ошибка порядка наследования в Liskov Substitution
Если в приложении объект пришёл к вам по референсу на базовый класс, но ведёт себя не так…
15. Давно ли вы работали с числами?
Нормальный программист не работает с числами напрямую, учитывая что процессор от него только числа и ждёт…
16. Theories в JUnit
Часто случается, что в unit-тестировании выполняется серия тестов, которые отличаются только входными значениями и ожидаемыми результатами.
17. Mockito: чем отличаются Mock и Spy?
Такой вопрос часто можно услышать на собеседовании, когда разговор заходит о unit-тестировании.
ЧИТАЙТЕ НАШИ СТАТЬИ НА ХАБРЕ
18. Интерфейсы командной строки Java: picocli
Мощный маленький интерфейс командной строки, который является однофайловым Java-фреймворком для …
19. Разбор основных концепций параллелизма
Эта памятка поможет Java-разработчикам понять основные концепции параллелизма и способы их применения.
20. Конкуренция в сервлетах
Если кто-то спросит вас: «Является ли сервлет потокобезопасным?» — ответьте уверенно: «По умолчанию они не являются, но мои сервлеты являются потокобезопасными».
21. Форматирование чисел в Java: DecimalFormat
Пример кода показывает, что инстансы, которые возвращает “getInstance” NumberFormat, —это инстансы DecimalFormat.
22. Всё о переопределении в Java
Переопределение метода выполняется для достижения полиморфизма во время выполнения программы.