TGViewer
Channel Public Channel
Уютное сообщество джавистов

Уютное сообщество джавистов

@javaarchivebooks

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

@viktorreh
Subscribers
1.87K
Photos
36
Videos
0
Links
47

Showing posts older than #178 · Back to latest

Older Posts 13 shown
Post #177 2.44K
Разбираемся, что не так с кодом в новой рубрике⬇️

Вопрос: Почему код не скомпилируется?

Ответ:
В цикле while нет условия типа Boolean
  • 👍 13
Post #176 2.16K
  • 👍 4
Post #175 2.09K
Друзья, мы создали канал с вакансиями по Java.

В чем там фишка?
— В каждой вакансии есть ссылка на телеграм аккаунт HR-менеджера или технического специалиста этой вакансии.

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

Подписывайтесь и ищите работу: @javaoffers
Telegram Java Вакансии Вакансии по Java. Все вакансии с контактами из телеграма - тоесть вы сразу можете отправить резюме HR или техническому менеджеру компании. реклама: @viktorreh
  • 👍 1
Post #174 2.21K
Для чего используются ключевые слова volatile, synchronized, transient, native?

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

synchronized — это зарезервированное слово позволяет добиваться синхронизации в помеченных им методах или блоках кода.

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

#вопросы_с_собеседований
  • 👍 11
Post #173 2.07K
Ссылки на методы в Java

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

Читать статью
Telegraph Ссылки на методы в Java Лямбды — гибкие и анонимные фрагменты кода Лямбды в Java полезны во многих направлениях. Лямбда-выражения можно использовать для более простых задач, а лямбда-утверждения — для более сложных. Лямбды могут вызывать другие методы для текущего объекта (this)…
  • 👍 2
Post #171 1.94K
#вопросы_с_собеседований

Как можно вывести на экран уникальные квадраты чисел используя метод map()?

Для этого можно использовать Stream. Ответ на картинке.
  • 🔥 6
  • 👎 1
Post #170 1.98K
Полраза в жизни встречал ViewModel + MutableStateFlow. Попросили объяснить, как использовать. Чем дальше в лес, тем меньше понимания, как и зачем этим вообще пользоваться и под какими веществами это придумали 🤦

Ожидание:
val vm by viewModels(factory = { MyCoolViewModel(args) })

Реальность:
val vm: MyCoolViewModel by viewModels(factoryProducer = {
object : ViewModelProvider.Factory {
override fun <T : ViewModel> create(...): T =
MyCoolViewModel(args) as T
}
})


Ожидание:
val stateSmth = savedStateHandle.getMutableStateFlow("smth", defaultSmth)

Реальность:
отрицание, гнев, торг, пост в канал, кастомный флоу.
  • 💩 4
  • 😁 1
Post #169 1.92K
fun factorial(n: Int): Long =
(2..n).fold(1L, Long::times)
  • 💩 3
  • 👍 2
Post #168 2.02K
Ночная задача: реализовать функцию factorial(n) -> long.
Какое решение самое простое? Компактное? Эффективное? Зрелищное?

Напишите ваши в комментах.
  • 👍 4
Post #164 2.34K
Каждой задаче — по языку

Я вижу как минимум два способа понимать это высказывание.

Первый (назовём его горизонтальным) предполагает, что для каждой прикладной области есть наиболее подходящий язык программирования. Например, для серверной разработки — Java, для яблок — Swift, для Android — Kotlin, для фронта — TypeScript, для системщины — Си.

Второй (назовём вертикальным) делит языки на прикладные и низкоуровневые. Например, сервер — Kotlin-JVM, Android — Kotlin-JVM/Android, яблоки — Kotlin-Native, фронт — Kotlin-JVM. Написание ОС и драйверов — Rust.

Или, например, сервер и Android — Clojure, яблоки (в React-Native) и фронт — ClojureScript, Android — Clojure.

Или сервер — Haskell, Android — Haskell (NDK или Frege), iOS и фронт — PureScript.

Мне кажется, что правильный способ понимать это высказывание — второй, т. к. нет объективных причин для каждой платформы (прикладной сферы) заводить отдельный язык.
  • 👍 6
  • 👎 3
Post #158 7.66K
​*Вашему вниманию предлагается новая подборка Java-новостей от InfoQ: 😃
*✔️ Стал доступен билд № 31 для JDK 20 (ранний доступ)
✔️ Стал доступен билд № 5 для JDK 21 (ранний доступ)
✔️ Выпущен новый релиз Spring Framework, версии 6.0.4
и д.р.

Приятного чтения!


Читать статью
Post #1
Channel created
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →