📓 Книги по Java
870 subscribers
340 photos
27 videos
5 files
835 links
📓 Книги по Java

Самый крутой канал c подборкой книг, статей, но и как без рекламы все в одном месте
По ворпосам размещения @qa_autom
Download Telegram
Final класс

Нельзя расширять класс, объявленный как final. Проще говоря, никакой класс не может наследоваться от данного.

Прекрасным примером final класса в JDK является String. Первый шаг к созданию неизменяемого класса — пометить его как final, и тогда нельзя будет его расширить.
Kotlin заходит в Telegram!

Рассказываем про Kotlin — молодой язык родом из Питера, который вовсю теснит Java в мобильной и бэкенд-разработке.

Его официально поддерживает Google, используют Jira и Adobe, а разработчики топовых приложений для Android переписывают на Kotlin свои продукты. Советуем подписаться, чтобы узнавать больше!
🔥 На нашей странице IT JOBS прямо сейчас идет вебинар на тему: «Как я из обычного продавца МТС стал middle Java разработчиком за 2 года»

©ПОДКЛЮЧАЙТЕСЬ!
👩‍💻 Прекрасный и ужасный ООП в Java

В программировании на ООП-языках сложились определенные догмы о качестве. Некоторые противоречат друг другу, а некоторые по-разному трактуются разными авторами. Денис еще больше усомнился в непоколебимости этих догм после просмотра выступлений Егора Бугаенко на JPoint и Joker. Часть идей кажутся логичными, но на первый взгляд недостижимыми в типовых проектах.

Спикер рассмотрит:
1. Некоторые противоречия догм в ООП.
2. Отличия ООП Джеймса Гослинга (James Gosling) в Java от ООП Алана Кея (Alan Kay).
3. Рассуждения о «серебряной пуле».

https://youtu.be/EztZ86G6KA4
Работа сейчас важна как никогда:

- Войти джуном в it @remotejun
- Удалиться в it @remoteit
- Уехать сеньором @relocats
- Остаться в геймдеве @gamedevjobs
- Отцифроваться в блокчейн @web30job
- Выйти в айти из подъезда @itmoscow
- Войти в айти парадную @spboffice
Java developer (middle)
#полныйдень #офис #удаленка
ЗП: от 180 000 до 250 000 ₽
Локация: Омск, Гагарина 8/1
Компания: Rhinoda

Требования:
- Коммерческий опыт работы в IT от 3 лет
- Понимание основных принципов ООП, SOLID
- Знание Java 8+
- Знание Springboot
- Знание Hibernate, JDBC
- Базовые знания работы с БД, понимание SQL/NoSQL
- Опыт работы с СУБД Oracle или PostgreSQL или MySQL
- Опыт работы с системами сборки Maven либо Gradle
- Знание REST, SOAP;
- Kafka/RabbitMQ
- Будет плюсом опыт работы с Docker, Jenkins
- Умения писать тесты"

Контакты: @dusha_irtysha
Какое из следующих утверждений о потоках неверно?

1. Если метод start() вызывается дважды для одного и того же объекта Thread, во время выполнения генерируется исключение.
2. Порядок, в котором запускались потоки, может не совпадать с порядком их фактического выполнения.
3. Если метод run() вызывается напрямую для объекта Thread, во время выполнения генерируется исключение.
4. Если метод sleep() вызывается для потока, во время выполнения синхронизированного кода, блокировка не снимается.

Правильный ответ: 3. Если метод run() вызывается напрямую для объекта Thread, во время выполнения исключение не генерируется. Однако, код, написанный в методе run() будет выполняться текущим, а не новым потоком. Таким образом, правильный способ запустить поток – это вызов метода start(), который приводит к выполнению метода run() новым потоком.

Вызов метода start() дважды для одного и того же объекта Thread приведёт к генерированию исключения IllegalThreadStateException во время выполнения, следовательно, утверждение 1 верно. Утверждение 2 верно, так как порядок, в котором выполняются потоки, определяется Планировщиком потоков, независимо от того, какой поток запущен первым. Утверждение 4 верно, так как поток не освободит блокировки, которые он держит, когда он переходит в состояние Ожидания.
Популярность языка Java растёт, востребованность разработчиков — тоже. А возрастных ограничений для специалистов нет. Если вы готовы шагнуть в мир IT, испытайте себя в Java-разработке и получите ответы на все вопросы!

Переходите по ссылке: https://epic.st/MpazX
Сразу после регистрации отправим вам на почту гайд по профессии Java-разработчика: из него вы узнаете, сложно ли изучить Java, сколько зарабатывают специалисты и как начать карьеру в этой сфере.

За 3 дня:

✔️ получите базовые навыки программирования на Java и научитесь писать простой код;
✔️ освоите переменные, условные операторы, массивы и циклы;
✔️ поймёте коллекции ArrayList, HashSet, HashMap и их различия;
✔️ разработаете простое приложение, которое можно будет добавить в портфолио.

📌 Лайфхаками поделится разработчик, директор центра SymbioWay, который находит IT-специалистов для крупнейших компаний России, — Даниил Пилипенко. Он расскажет секреты профессии и объяснит, как найти первого заказчика на фрилансе.

🗓 Встречаемся в прямом эфире ...
Backend программист (senior)
#полныйдень #офис #удаленка
ЗП: от 290 000 ₽
Локация: Москва
Компания: QIWI

Обязанности:
- Работать по Scrum в команде из нескольких разработчиков, владельца продукта и скрам-мастера;
- Писать много кода, но также много обсуждать решения и новые подходы с другими специалистами в компании;
- Работать над задачами разной сложности самостоятельно и помогать членам твоей команды генерировать новые идеи;
- Писать тесты на свой код и учить товарищей по команде как писать тесты эффективно;
- Проводить много ревью кода, давать советы как можно улучшить код, сделать его проще, читабельнее или производительнее.

Требования:
- Способен разработать новую архитектуру, предлагать новое и аргументировать свои решения;
- Готов работать в команде, обсуждать задачи, делиться своими знаниями и опытом;
- Развит всесторонне, постоянно ищешь новые знания о новых технологиях и языках;
- Имеешь опыт работы с Java и Spring Boot, особенно круто если еще и с Kotlin;
- Имеешь большой опыт написания тестов, использовал разные подходы и библиотеки для тестирования;
- Понимаешь что такое многопоточность, знаешь подводные камни;
- Работал с системами CI/CD, можешь сделать какую-то нестандартную автоматизацию;
- Работал с реляционными базами данных, Oracle и PostgreSQL будут плюсом;
- Работал с нереляционными базами данных, понимаешь в чем их отличие от реляционных.
Java — один из самых популярных языков программирования. Он универсален и выступает основой всех типов сетевых приложений.

Специалисты, работающие с этим языком, востребованы на рынке. Если хотите к ним присоединиться, участвуйте в бесплатном тематическом онлайн-интенсиве.

Узнайте подробности: 👉 https://epic.st/HoKLpk
Сразу после регистрации отправим вам на почту гайд по профессии Java-разработчика: из него вы узнаете, сложно ли изучить Java, сколько зарабатывают специалисты и как начать карьеру в этой сфере.

📌 Никакой скучной теории — только самый интересный материал и мощная практика. За 3 дня вы примерите на себя профессию Java-разработчика и поймёте, в каком направлении двигаться дальше.

📌 Спикером выступит директор центра подбора IT-специалистов SymbioWay Даниил Пилипенко. Он поделится секретами профессии и лайфхаками, расскажет, как найти первого заказчика.

🎁 Всех ждут подарки. Участвуйте, задавайте вопросы и получите сертификат на скидку 10 000 рублей на любой курс Skillbox.

Присоединяйтесь ...
#Вопросы_с_собеседования

🎙️Что такое JDBC?

JDBC, Java DataBase Connectivity (соединение с базами данных на Java)
— промышленный стандарт взаимодействия Java-приложений с различными СУБД. Реализован в виде пакета java.sql, входящего в состав Java SE.

JDBC основан на концепции драйверов, которые позволяют получать соединение с базой данных по специально описанному URL. При загрузке драйвер регистрирует себя в системе и в дальнейшем автоматически вызывается, когда программа требует URL, содержащий протокол, за который этот драйвер отвечает.
Media is too big
VIEW IN TELEGRAM
#вебинар

18.03.2023 на нашем канале IT Jobs прошел вебинар на тему: «Как я из обычного продавца МТС стал middle Java разработчиком за 2 года». Делимся с вами записью прошедшей трансляции!

Спикер: Тимур, middle Java разработчик и преподаватель по Java в Калифорнийской школе
Java-разработчик (middle)
#полныйдень #офис #гибрид #удаленка
ЗП: от 200 000 ₽
Локация: Москва
Компания: ДАЛЕЕ

Обязанности:
- Декомпозиция и анализ задач бэклога
- Оценка трудоемкости задач
- Проектирование решения, в том числе разработка детальной внутренней архитектуры системы
- Детальное проектирование интеграций со смежными системами совместно с аналитиком (в том числе API)
- Разработка unit-тестов
- Выполнение code review
- Анализ и исправление инцидентов в рамках 3-й линии поддержки

Требования:
- Опыт коммерческой разработки на Java от 1 года
- Знание Spring framework
- Опыт работы с серверами приложений (WildFly, Weblogic, WebSphere или др.)
- Знания SQL
- Опыт работы с системами сборки
- Навыки покрытия кода unit-тестами
👩‍💻 Разбор и вычисление арифметических выражений на Java

Разберёмся, как можно вычислять арифметические выражения. Предположим, на вход нам поступает строка текста, которая содержит корректное арифметическое выражение.

Это выражение состоит из пробелов, чисел, скобок и знаков, обозначающих основные математические действия (плюс, минус, умножить, разделить). Нам нужно разобрать это выражение на отдельные элементы, а затем вычислить результат с учётом приоритетов математических операций.

Обработку такого выражения можно разделить на три основных этапа:
1. Разбиение строки на отдельные части
2. Обработка этих частей с учётом математических операций
3. Само вычисление
🎚 ChatGPT Telegram бот обновился!

Для всех, кто еще не попробовал новую модель GPT4, рекомендуем бота абсолютно бесплатного.

Поможет написать код, диплом, придумает шутку и станет незаменимым помощником в любых задачах, учебы, работы или бизнеса!

Бот: @Chatgpturbobot
Java developer (senior)
#полныйдень #удаленка #гибрид #офис
Локация: Москва
Компания: Газпромбанк

Обязанности:
- Разработка серверных компонентов для автоматизированных рабочих мест пользователей системы;
- Разработка бэка для единого фронтального приложения;
- API для обработки данных с пользовательских форм;
- Слой классов, осуществляющих взаимодействие с базой данных;
- Интеграционные модули для взаимодействия с внешними источниками;
- Сервисы, реализующие этапы бизнес процесса;

Требования:
- Опыт работы с Java SE, Spring Framework (IoC, MVC, Transactions, Data, Boot) от 3х лет;
- Опыт работы с Gradle/Maven, Git;
- Опыт написания автоматических тестов (модульных и интеграционных) с использованием JUnit или TestNG;
- Опыт разработки с использованием JDBC, JPA, JMX;
- Знание паттернов ООП;
- Навыки проектирования и разработки высокопроизводительных, отказоустойчивых решений;
Всем привет от команды Nebius!

Nebius — это международный спин-офф облачного бизнеса Яндекса с офисами в нескольких странах. Мы создаем платформу, позволяющую другим компаниям строить собственный локальный облачный бизнес.

Наши сотрудники — это команда ярких и талантливых личностей с большим опытом работы в построении и развитии публичного облака.

Вы можете стать ее частью — мы активно нанимаем сотрудников в офисы в Белграде и Амстердаме.

На данный момент открыты вакансии для:

• backend-разработчиков — языки Golang, Java, Python , С++, С#
• frontend-разработчиков
• full-stack разработчиков
• technical product managers
• SRE

Полные описания можно найти на сайте.
Если подходящие вам вакансии ещё не открыты — отправьте своё резюме на hr@nebius.com
Первый прототип ChatGPT – InstructGPT

Он не запоминал диалоги и если ему рассказать какой-то ложный факт, то можно переубедить его, что он правдивый.

Прочитавши статью про все возможности изобретения на официальном канале, разработчики создали ChatGPT 3.5.

Разбор всех статей найдете тут - @devsp
Media is too big
VIEW IN TELEGRAM
Java. Многопоточность. Как устроить Deadlock

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

Исходники GitHub

источник

👉@BookJava
Лучшие практики для Java-приложений в Kubernetes

В этой статье вы прочитаете о лучших практиках запуска Java-приложений в Kubernetes. Большинство из этих рекомендаций будут справедливы и для других языков.

Однако я рассматриваю все правила в рамках характеристик Java, а также показываю решения и инструменты, доступные для приложений на базе JVM.

Некоторые из этих рекомендаций по Kubernetes навязаны дизайном при использовании самых популярных Java-фреймворков, таких, как Spring Boot или Quarkus. Я покажу вам, как эффективно использовать их для упрощения жизни разработчиков.

Читать статью
Что такое Optional?

Опциональное значение Optional — это контейнер для объекта, который может содержать или не содержать значение null. Такая обёртка является удобным средством предотвращения NullPointerException, т.к. имеет некоторые функции высшего порядка, избавляющие от добавления повторяющихся if null/notNull проверок:

Optional<String> optional = Optional.of("hello");

optional.isPresent(); // true
optional.ifPresent(s -> System.out.println(s.length())); // 5
optional.get(); // "hello"
optional.orElse("ops..."); // "hello"


👉@BookJava