Java Guru 🤓
13.3K subscribers
916 photos
15 videos
774 links
Канал с вопросами и задачами с собеседований!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrSQZ

Мы на бирже: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
Где у Java приложения точка входа?

В обычном Java приложении всегда должен быть main class, содержащий метод main. С него начинается исполнение всей программы. Main class-ом может быть не только класс, но и интерфейс или енам. Для JavaFX приложения главный класс должен реализовывать javafx.application.Application.

main обязательно public static. Дополнительно, методу разрешено иметь модификатор strictfp. На аннотации и список исключений ограничений не накладывается.

В главном методе должен быть объявлен единственный аргумент – массив строк. Обе конструкции String[] и String... компилируются в один и тот же байт-код, так что приемлемы оба варианта. Название массива может быть любым, а значение будет содержать аргументы командной строки.

Когда приложение запускается как classpath, главный класс передается параметром командной строки. Если выполняется единственный исходник, он и описывает main class.

Для исполняемого jar-файла (java -jar MyJar.jar), его главный класс должен быть указан в манифесте. Внутри архива, в файл META-INF/MANIFEST.MF добавляется строчка вида Main-Class: ru.itsobes.MyClass. Иначе запуск завершается ошибкой «no main manifest attribute».

В случае, когда в указанном главном классе не оказывается метода, который бы удовлетворял всем критериям главного метода, программа падает с ошибкой «Main method not found».

В апплетах вместо main входной точкой служат методы init и start. Начиная с версии Java 9 технология апплетов объявлена устаревшей, а с 11 – совсем удалена. Не будем останавливаться на них подробнее.


Java Guru🤓 #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍6
Как инициализировать переменную функционального интерфейса?

Функциональный интерфейс – всё ещё интерфейс, поэтому остаются доступными стандартные способы. Интерфейс можно реализовать обычным классом, и затем создать его экземпляр оператором new. Можно совместить эти два действия, и создать экземпляр анонимного класса.

Основное преимущество, которое дает функциональный интерфейс – два дополнительных способа инициализации параметров и переменных.

1. Лямбда-выражение: (x, y) -> x * y
2. Ссылка на метод: Math::sqrt

На эти способы накладывается небольшое ограничение: тип функционального параметра/переменной должен быть указан явно. Это значит, что лямбдой или метод-референсом нельзя инициализировать переменную, объявленную ключевым словом var. Также, чтобы передать лямбду или референс в параметр generic-типа, этот тип должен быть ограничен функциональным интерфейсом (должен стираться в него).


Java Guru🤓 #java
👍6🔥4🤯1
Какие варианты создания потоков являются верными?
👍5🔥4
Какие варианты создания потоков являются верными?
Anonymous Quiz
40%
1, 2, 3
13%
1, 2, 3, 5
4%
1, 4
11%
Только 2
31%
Все верные
👍5🔥3
Что будет в результате вызова метода?
🔥3👍2
Что будет результатом этого кода?
👍4🔥2
К каким полям можно получить доступ из другого пакета?
👍5🔥3🥴2
К каким полям можно получить доступ из другого пакета?
Anonymous Quiz
1%
privateField
5%
defaultField, protectedField
50%
publicField
3%
Все поля будут недоступны
41%
protectedField, publicField
👍7😐4🔥21🤔1
🤖 Тест по Flutter проверь свои знания, готов ли ты к обучению на курсе.

Ответишь — пройдешь на курс "Flutter Mobile Developer" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса

За 6 месяцев вы освоите Dart, Flutter и ключевые инструменты разработки, создадите несколько приложений, получите поддержку преподавателей и выполните проект для портфолио.

➡️ ПРОЙТИ ТЕСТ И ОЗНАКОМИТСЯ С ПРОГРАММОЙ: https://vk.cc/cOj5R5

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍2🔥2
Почему возможна ошибка во время выполнения кода?
👍5🔥3
Какой из методов Stream возвращает один элемент в результате выполнения?
Anonymous Quiz
6%
filter()
8%
forEach()
62%
reduce()
7%
map()
18%
collect()
👍7🔥3🤨2
☝️Конфликты — это не страшно. Главное — научиться ими управлять!

Каждый тимлид и менеджер сталкивался с ситуацией, когда напряжение в команде мешает работе. Избегание или агрессия — не выход. Пора разобраться, как превращать конфликты в точки роста!

Приходи на бесплатный вебинар курса «Team Lead в IT» и узнай:
— Как не бояться конфликтов, а использовать их с пользой
— Конструктивные техники — вместо избегания или эмоциональных взрывов
— Как снижать напряжение и находить решения, которые устроят всех

Спикер: Алексей Кирсанов (Руководитель отдела продуктовой разработки Битрикс24) — знает, как работать с конфликтами без потерь для команды.

После вебинара сможешь записаться на курс со скидкой по промокоду TL_8 — не упусти возможность!

🔗 Регистрируйсяhttps://vk.cc/cOkW3M

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍2🔥2
Что будет результатом кода?
👍6🔥3
👍9🔥3
Что будет результатом кода?
👍21🔥1
Что будет результатом кода?
Anonymous Quiz
11%
5 10 15 20 30
9%
8 10 20 30
27%
5 8 10 15 20 30
9%
8 10 15 20 30
43%
10 15 20 30
👍11🔥4