Можливості нової Java 17. Огляд CompletableFuture. JVM мови.

  Рет қаралды 4,594

Bobocode

Bobocode

Күн бұрын

Пікірлер: 34
@Bobocode
@Bobocode 2 жыл бұрын
👉 Навчання від Bobocode: bit.ly/3IRrJhj
@feoktant
@feoktant 2 жыл бұрын
Це відео змотивувало мене почитати про Кложур. Дуже цікава мова, з дуже крутим автором Річ Хіккі. Раджу його доклад "Simple made easy". Дискусійно, але розширює світогляд
@ОлегПаламарчук-р5к
@ОлегПаламарчук-р5к Жыл бұрын
Дякую за відео. До цього момента не знав про клас CompletableFuture.
@Bobocode
@Bobocode Жыл бұрын
Будь ласка, насправді він був доданий ще в Java 8.
@andriikukuruza6844
@andriikukuruza6844 2 жыл бұрын
Дякую, чекаєм наступний епізод :)
@Bobocode
@Bobocode 2 жыл бұрын
ДЗ: Закінчити роботу над ДЗ по модулю Funamentals.
@Beetle_in_the_Anthill
@Beetle_in_the_Anthill Жыл бұрын
17:47 в java є анонімні класи особисто мені це сама цікава фіча, яка колись змусила мене битись головою об стіл
@baibula
@baibula Жыл бұрын
На 43 хв, коли додали checked exception до метода, чому не можна прямо в supplyAsync() прописати лямбду з try-catch? Я от прописав і все нормально запускається і працює. Чи не в цьому взагалі було питання? Бо щось я зовсім догнати не можу.
@Bobocode
@Bobocode Жыл бұрын
Технічно можна, але писати в лямбді try-catch - це погана практика з точки зору чистоти коду. Якщо в лямбді є щось складніше, ніж один рядок, то треба виносити цю логіку в допоміжний метод.
@baibula
@baibula Жыл бұрын
@@Bobocode буду знати, дякую.
@goodvin8554
@goodvin8554 Жыл бұрын
В Котлін змінні та дефолтні значення оголошуються так же як в Паскалі. Тепер зрозуміло чому по дефолту в Idea хоткеї такіж як в Delphi. Мабуть розрозбники з intellij поклонники Delphi.
@Bobocode
@Bobocode Жыл бұрын
😂
@artemderevets4298
@artemderevets4298 2 жыл бұрын
Зараз би io bounded операції виконувати б на комон пулі….
@ОлегПаламарчук-р5к
@ОлегПаламарчук-р5к Жыл бұрын
Було б добре додати помітку, що тут використовується preview 17 jdk. Не усі помітять в консолі помітку "--enable-preview". Не усі фічі доступні в релізній версії.
@Bobocode
@Bobocode Жыл бұрын
А що саме з відео недоступне у релізнутій версії Java 17?
@ОлегПаламарчук-р5к
@ОлегПаламарчук-р5к Жыл бұрын
@@Bobocode switch з логічними опереторами
@baibula
@baibula 8 ай бұрын
Вони переробили ці guarded patterns в 21+ джавах. Тепер воно виглядає як "case Long l when l > 1000 -> ...". Ось нашо вони ці preview роблять.))
@AndrewMatasov
@AndrewMatasov Жыл бұрын
Перепрошую. Хиба сигнатура метода - це не аргументи і їх порядок? Я вчив, що значення, що повертаються та throws в сигнатуру не входить. Що правда?
@Bobocode
@Bobocode Жыл бұрын
Правда на нашому боці ;)
@viktors.4844
@viktors.4844 2 жыл бұрын
Погляд збоку. В мене мало досвіду, а з котлін так взагалі нема, але він мені здається перенасиченим спеціями/солодощами, що губиться сама структура/суть. Ну немає в джава функцій розширення, так унаслідуй все в новому класі й добав свій метод, і ніхто не буде плутатись, буде ясна логіка абстракцій і не буде підводних каменів та течій. Гадаю що це навантаження на синтаксис небезкоштовне для ресурсів. Таке питання. Якщо ту саму річ в котлін можна робити багатьма способами, чи не призводить це до різних(і іноді неоптимальних) байт-кодів? Дякую за відео.
@Bobocode
@Bobocode 2 жыл бұрын
Я не спец. в Котліні. Але, коли я з ним працював, то по відчуттях він повільніший ніж Java. І це тому, що всі ці фічі дійсно не безкоштовні.
@feoktant
@feoktant 2 жыл бұрын
> Ну немає в джава функцій розширення, так унаслідуй все в новому класі й добав свій метод Приблизно так компілятор Котліну, Скали і Груві і працює. Якщо клас фінальний, то створюється wrapper. Як приклад, Скала використовує джавовий String, але методів в ньому набагато більше. Хоча клас закритий для розширення.
@feoktant
@feoktant 2 жыл бұрын
> Гадаю що це навантаження на синтаксис небезкоштовне для ресурсів. JIT сам знаходить гарячі точки і оптимізує їх. Та й програмісти компіляторів цих мов теж постійно покращують байткод. При появі invokedynamic у Java 8, зарелізили Scala 2.12, котра переписала усі лямбди з анонімних класів на нову конструкцію байт коду. Kotlin ще більш активний у цьому плані. Але байткод пухкіший, так
@feoktant
@feoktant 2 жыл бұрын
Clojure - так це ж улюблен мова Uncle Bob! Останні пʼять років він піарить його у своєму блозі, розказуючищо усі джави, типи не потрібні, а саме лісп на jvm найкраще що могло статися)
@Bobocode
@Bobocode 2 жыл бұрын
🤷🏻‍♂️я думаю, що він дуже розумний дядько. Просто не має смаку 🙂
@feoktant
@feoktant 2 жыл бұрын
@@Bobocode на вкус і цвєт товаріщєй нєт 😅
@feoktant
@feoktant 2 жыл бұрын
Щодо records - на твою думку, на скільки вони органічно виглядають в Java? Якби вони на рівні JVM були, це була б одна історія. А по факту це синтаксичний цукор, з котрим не можна працювати в Hibernate :/
@Bobocode
@Bobocode 2 жыл бұрын
Хм.. Я ще з ними толком не працював. А от Котлін з Hibernate не дружить :)
@feoktant
@feoktant 2 жыл бұрын
@@Bobocode це по тій самій причині) data classes мали б бути мутабельні, а тоді розвалюється уся ідея
@User-vr6if
@User-vr6if 2 жыл бұрын
records для DTO саме то
@andriipiatnytskyi9562
@andriipiatnytskyi9562 2 жыл бұрын
Мені здалось концептуально records дуже схожий на деструктуризацію в js. Там воно використовуэться типу як у в джаві дто. Тобто для того щоб прокинути в якусь логіку частину початкового объекта.
@globalboys9729
@globalboys9729 2 жыл бұрын
Такого плана языки как Котлин при всей его простоте при неправильном использование дорого а такой говнокод... Ух
黑的奸计得逞 #古风
00:24
Black and white double fury
Рет қаралды 30 МЛН
ROSÉ & Bruno Mars - APT. (Official Music Video)
02:54
ROSÉ
Рет қаралды 269 МЛН
бабл ти гель для душа // Eva mash
01:00
EVA mash
Рет қаралды 7 МЛН
When u fight over the armrest
00:41
Adam W
Рет қаралды 14 МЛН
CompletableFuture - Асинхронний код - Java: Про ІТ під каву - #19
1:26:36
Онлайн уроки по Java
Рет қаралды 2,9 М.
Пишем python браузер
7:31
Андрей codIT
Рет қаралды 940
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 925 М.
黑的奸计得逞 #古风
00:24
Black and white double fury
Рет қаралды 30 МЛН