JavaStart
909 subscribers
910 photos
28 videos
620 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
😁911💯1
Важность дисциплины в обучении, настойчивости и самоорганизации.

Случай из жизни.

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

Стажеру была предоставлена задача создать новый модуль в системе, отвечающий за управление запасами товаров. Это требовало изучения бизнес-логики и существующей архитектуры системы, а также использования различных Java-фреймворков и библиотек.

Стажер активно приступил к изучению и решению задачи. Он проводил исследования, изучал документацию и обращался за помощью к опытным разработчикам в команде. Он использовал Spring Framework для управления зависимостями и разработки веб-приложений, а также JPA для работы с базой данных.

По мере выполнения работы стажер показывал свои результаты и прогресс своему наставнику и другим членам команды. Они были впечатлены его активностью, самообучением и умением решать сложные задачи. Стажер также принимал обратную связь и вносил необходимые исправления в свой код.

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

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

Как думаете, что важнее в этом кейсе, хард или софт скиллы? Пишите свои мысли в комментари 👇

👉 JavaStart. Подписаться
🔥10👍51🤓1👨‍💻1
Модификатор доступа static в Java. Часть 7.

Ключевые моменты.

Очень нужная информация как для понимания, так и для успешного ответа на собеседовании на вопросы про ключевое слово static.

1) Статические методы в Java вызываются во время компиляции, а не во время исполнения;

2) Поскольку переопределение метода является частью полиморфизма во время выполнения (Runtime Polymorphism), статические методы не могут быть переопределены. Это справедливо также для статических методов интерфейса;

3) Абстрактные методы не могут быть статическими;

4) Статические методы не могут использовать ключевые слова this или super;

5) Методы экземпляра класса также могут непосредственно обращаться к статическим переменным и статическим методам;

6) Статические методы могут обращаться ко всем статическим переменным и другим статическим методам;

7) Статические методы не могут напрямую обращаться к переменным экземпляра и методам экземпляра. Для этого им нужна ссылка на объект;

8) Статические поля и методы не являются потокобезопасными. Т.к. каждый экземпляр класса имеет одну и ту же копию статической переменной, такая переменная нуждается в защите от одновременного обращения к ней нескольких потоков. Для этого статическая переменная должна быть синхронизирована;

9) Статические методы связываются во время компиляции, в отличие от не статических методов, которые связываются во время исполнения.

👉 JavaStart. Подписаться
👍63🤓21
Какой метод Stream API используется для преобразования элементов стрима в другие значения?
Anonymous Quiz
12%
collect()
25%
reduce()
5%
filter()
48%
map()
3%
get()
8%
Узнать ответ
5👍51🎉1
Вопрос из собеседований.

Каким будет результат сравнения в следующем коде на Картинке?

Вопрос на понимание работы пула строк в Java и на понимание сравнения строк.

Разберем детально:

1) Переменная s1 ссылается на строку в пуле уникальных строк в памяти, переменная s2 ссылается на ту же саму строку в пуле уникальных строк, что и переменная s1, первое сравнение будет true, так как s1 и s2 ссылаются на один и тот же объект.

2) Переменная s3 ссылается на новый объект, который не находится в пуле уникальных строк, так как он создан через new, следовательно второе сравнение будет false, так как сравниваем переменные которые ссылаются на на два разных объекта.

3) Третье сравнение будет true, так как мы сравниваем строки посимвольно на эквивалентность через .equals(), а содержимое данных строк одинаково.

👉 JavaStart. Подписаться
👍1532👏1
На нашем Ютуб канале вышло новое обучающее видео по Интерфейсам в Java.

Друзья, тем, кто лучше воспринимает информацию по видео, приятного просмотра!

Переходите по ссылке и смотрите скорее!

И конечно же подписывайтесь на наш канал JavaStart, чтобы не пропустить следующие обучающие видеоуроки по нашей любимой Java👩‍💻

https://www.youtube.com/watch?v=OGhfHmMFdAc

👉 JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102😁1🤓1👨‍💻1
Модификатор доступа static в Java. Часть 8.

Излюбленная тема почти всех интервьюеров - Статический блок инициализации.

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

В таких случаях пригодятся статические блоки.
Либо, если статические переменные во время инициализации требуют дополнительной логики, состоящей из нескольких операторов, то также можно использовать статический блок.

Пример статического блока.

Предположим, мы хотим инициализировать объект, представляющий собой список с некоторыми предопределенными значениями.
Это легко сделать с помощью статических блоков (Картинка 1).

В этом примере невозможно инициализировать объект List всеми начальными значениями вместе с объявлением, поэтому используется статический блок.

Код на Картинке 2 демонстрирует особенность статических блоков — они выполняются раньше конструкторов и при создании нескольких объектов класса, статический блок выполняется только один раз.

👉 JavaStart. Подписаться
👍62👨‍💻21🤓1
😁124👨‍💻1
Модификатор доступа static в Java. Часть 9.

Какие причины использовать статические блоки?

1) Если для инициализации статических переменных требуется дополнительная логика, за исключением операции присваивания;

2) Если инициализация статических переменных подвержена ошибкам и требует обработки исключений.

Ключевые моменты.

1) У класса может быть несколько статических блоков;

2) Статические поля и статические блоки выполняются в том же порядке, в котором они присутствуют в классе;

3) Из статического блока нельзя получить доступ к не статическим членам класса;

4) Статический блок не может пробросить дальше перехваченные исключения, но может их выбросить. При этом всегда будет выкидываться только java.lang.ExceptionInInitializerError;

5) Статические поля или переменные инициализируются после загрузки класса в память в том же порядке, в каком они описаны в классе.

👉 JavaStart. Подписаться
👍621👨‍💻1
Media is too big
VIEW IN TELEGRAM
Всем привет!

Спешим поделиться с вами отзывом от нашего студента.

Совсем недавно Максим закончил наш курс и главной задачей стал поиск работы. Все усложнялось языковым барьером, но наш ментор провел финальное собеседование на английском языке и, как отмечает Максим, это дало свои результаты.

В процессе собеседований также было и тестовое задание. Наш ментор сделал ревью проекта и предложил правки, и в итоге Максим получил оффер!

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

🌐 Ссылка на полный отзыв на Youtube
https://www.youtube.com/watch?v=_kTpV5U61is

👉 JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍211👨‍💻1
Модификатор доступа static в Java. Часть 10.

Статический вложенный класс (nested class).

Язык программирования Java позволяет создавать классы внутри другого класса. Такой класс называется вложенным (nested).

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

Вложенные классы бывают двух видов:

вложенные классы, объявленные статическими, называются статическими вложенными классами (static nested classes);

вложенные классы, объявленные без static, называются внутренними классами (inner classes)

Основное различие между этими понятиями состоит в том, что внутренние классы имеют доступ ко всем членам включающего их класса (включая приватные) верхнего уровня, тогда как статические вложенные классы имеют доступ только к статическим членам внешнего класса.

Примером статического класса (ВНИМАНИЕ) является уже известный нам Singleton паттерн (Картинка 2).

Наиболее широко используемый подход для создания объектов «одиночка» (singleton) — это статический вложенный класс, поскольку он не требует никакой синхронизации, его легко изучить и реализовать.

👉 JavaStart. Подписаться
👍42🔥21👨‍💻1
Java – один из самых популярных языков программирования, который открывает двери к разнообразным карьерным возможностям и позволяет создавать полезные приложения для различных платформ.

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

Мы с командой делаем так, чтобы наши студенты претендовали на множество вакансий, а также приближаем их к созданию полезных и востребованных программных решений в мире коммерческой разработки.

Хотим подарить вам промокод START со скидкой 15%, который будет действовать неделю на нашей платформе JavaStart!

Напомним основные достоинства курса:

Курс будет доступен онлайн на платформе пожизненно;
Среднее прохождение курса составляет от 7–10 месяцев. Вы будете заниматься индивидуально и в своем темпе;
Личный ментор;
3 тестовых собеседования;
Три пет проекта для портфолио.

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

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

Задавайте любые вопросы, на сайте есть ссылки на чат с поддержкой и номер телефона для связи – можно писать как в 💬 Telegram, так и в 💬 WhatsApp.

👉 JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21👏1👨‍💻1
Каким образом можно обращаться к статическими переменным класса?
Anonymous Quiz
10%
Через объект класса
11%
Через ссылку на объект
6%
Через ссылку на метод
70%
Через имя класса
2%
Посмотреть ответ
👨‍💻4👍21🎉1
😁212👍1🔥1
Модификатор доступа static в Java. Часть 11.

Причины использовать статический внутренний класс:

– Если какой-то класс используются только в одном другом классе, то их можно сгруппировать, поместив в один общий класс. Это усиливает инкапсуляцию;

– Если вложенный класс не требует какого-либо доступа к членам экземпляра его класса, то лучше объявить его как статический, потому, что таким образом он не будет связан с внешним классом и, следовательно, будет более оптимальным, поскольку ему не потребуется память в куче или в стеке.

👉 JavaStart. Подписаться
👍711👨‍💻1
Модификатор доступа static в Java. Часть 12.

Ключевые моменты использования статического внутреннего класса:

1) Статические вложенные классы не имеют доступа к какому-либо члену экземпляра внешнего класса — он может получить к ним доступ только через ссылку на объект;

2) Статические вложенные классы могут получить доступ ко всем статическим членам внешнего класса, включая приватные;

3) Спецификация Java не позволяет объявлять класс верхнего уровня статическим. Только классы внутри других классов могут быть статическими;

4) По сути статический вложенный класс ничем не отличается от любого другого внутреннего класса за исключением того, что его объект не содержит ссылку на создавший его объект внешнего класса;

5) Для использования статических методов/переменных/классов нам не нужно создавать объект данного класса;

Яркий пример вложенного статического класса — HashMap.Entry, который предоставляет структуру данных внутри HashMap.

Стоит заметить, также как и любой другой внутренний класс, вложенные классы находятся в отдельном файле .class. Таким образом, если вы объявили пять вложенных классов в вашем главном классе, у вас будет 6 файлов с расширением .class

👉 JavaStart. Подписаться
👍6👨‍💻21🤓1
Модификатор доступа static в Java. Часть 13.

Константы.

Говоря о ключевом слове static, нельзя не упомянуть о его применении в определении констант — переменных, которые никогда не изменяются.

В языке Java существует зарезервированное слово «const», но оно не используется, и Java не поддерживает константы на уровне языка. Выход из ситуации имеется: для определения константы необходимо добавить модификаторы «static final» к полю класса.

Константы — это статические неизменяемые поля, содержимое которых неизменно. Это может относиться к примитивам, String и другим классам оберткам, а также к неизменяемым коллекциям.
Если состояние объекта может измениться, он не является константой.

Модификатор static делает переменную доступной без создания экземпляра класса, а final делает ее неизменяемой.

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

Если переменная будет иметь только модификатор final, то при создании каждого экземпляра класса она может быть проинициализирована своим значением.

Соответственно, используя совместно модификаторы static и final, переменная остается статической и может быть проинициализирована только один раз.

В Java константой считается не та переменная, которую нельзя изменить в рамках одного объекта, а та, которую не могут изменить ни один экземпляр класса в котором она находится (такая переменная создается и инициализируется один раз для всех экземпляров, сколько бы их не было).

👉 JavaStart. Подписаться
👍611🔥1