Тёмный

Project Loom: Fibers and Continuations for Java by Alan Bateman 

Devoxx
Подписаться 157 тыс.
Просмотров 16 тыс.
50% 1

Subscribe to Devoxx on RU-vid @ bit.ly/devoxx-youtube
Like Devoxx on Facebook @ / devoxxcom
Follow Devoxx on Twitter @ / devoxx
Project Loom’s mission is to make it easier to write, debug, profile and maintain concurrent applications under heavy load. Threads are a natural and convenient concurrency construct which is being supplanted by less convenient abstractions because their implementation as OS kernel threads is insufficient for meeting performance demands, and wasteful in computing resources that are particularly valuable in the cloud. Project Loom will introduce fibers as lightweight, efficient threads managed by the Java Virtual Machine, that let developers use the same simple abstraction but with significantly better performance and lower footprint. Fibers are implemented in the JDK libraries on top of continuations in the JVM. In this session we’ll present the current status of the project, discuss implementation and design challenges, and show a demo.
Alan Bateman
From Oracle
Alan Bateman is an engineer in the Java Platform Group in Oracle. Alan has worked on many areas of the JDK including the Java Module System, the modularization of the JDK itself, and the core libraries and APIs. He previously worked on many of the tool and profiling APis including the JSR-163 implementation and other serviceability features. He is currently focused on Project Loom which aims to bring delimited continuations and fibers to the Java Platform.

Наука

Опубликовано:

 

27 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 11   
@ycu4AB
@ycu4AB 5 лет назад
very cool. cant wait!
@AlanDarkworld
@AlanDarkworld 5 лет назад
I must say I'm impressed. Kotlin did coroutines (a.k.a. fibers) already, but its implementation is rather short-sighted. It's nearly impossible to debug and doesn't play well at all with existing blocking code. Loom looks much more promising. However, god forbid I wouldn't want to be in your shoes, this is one mammoth of a task to get "right".
@brujua7
@brujua7 5 лет назад
Very good! Keep up the good work!
@FranciscoKurpiel
@FranciscoKurpiel 5 лет назад
This implementation of fibers look really good. For a few years I moved to go and I love fibers (goroutines), and many details of this presentation make me believe it was heavily inspired in go, including the concept of 'fiber scopes', that we don't have in go, but would fit it so perfectly well. If they can put value types, signed numbers and somehow fix generics Java could be one of the best languages again, imho. It is a shame that Oracle is behind java, they are pushing away 2 billion users with the Google lawsuit. What an unbelievably stupid idea!
@reachnira
@reachnira 5 лет назад
Fiber are very promising and really good. I believe this will be one of the most awaited feature from developer perspective. However now this is running for several years, there is not even a "TENTATIVE" release date so far. Clearly not in Java 13 and does not look to be in Java 14 so far. Hence optimistically this will be in 2020 SEPTEMBER or in 2021 JANUARY. By this time it is possible that most of them may move to alternate programming language providing better async programming.
@dansouza1623
@dansouza1623 5 лет назад
or you can just use Go, that has all that built-in, with a much more pleasant syntax.
@zoomzoom833
@zoomzoom833 5 лет назад
We could use Go, but I'd rather use a language with a good concurrency model and a decent type system.
@dansouza1623
@dansouza1623 5 лет назад
oh snap! lol the type system I can understand, but what about the concurrency model described here is inherently better than Go’s? they seem pretty similar IMO (except Go’s “fibers” are even lighter due to automagic stacks and continuations are transparent and painless because they are baked into the language, not a bolt-on)
@zoomzoom833
@zoomzoom833 5 лет назад
@@dansouza1623 I was mostly just having a dig, I'm not really a fan of Java either. In terms of Go - I don't really like the CSP model very much. It has its uses, but it can be overcomplicated and error prone as well. The approach taken by libraries such as ZIO, Monix, or cats-effect in the Scala ecosystem is (in my opinion) much easier to work with.
@dansouza1623
@dansouza1623 5 лет назад
James Davies hahaha! yeah I dont know those Scala patterns, I’ll look them up! Go has all the primitives to build other models, I believe (there’s an Actor framework for Go, for example) and you can also use regular mutexes and locks and whatnots - there’s even atomic support for CAS to build lockless data structures.
@meamzcs
@meamzcs 4 года назад
You could but you would have to accept Go's lack of generics that will probably take another 3 years to get and the error handling that's just so super verbose and painful and compared to lots if other languages just bad... I'm not saying you necessarily need exceptions. Rust doesn't have them but error handling is a lot less painful. Also the Java Ecosystem is just so much more mature. If you actually wanted to take this to the next level you would use Erlang (or Elixir which is based on it) which has had this concept for ages and i a lot more advanced way.
Далее
Exploring reactive programming in Java by Miro Cupak
44:14
Как вам наш дуэт?❤️
00:37
Просмотров 695 тыс.
The Z Garbage Collector by Erik Österlund
37:14
Просмотров 5 тыс.
Write awesome tests by Jeroen Mols
46:26
Просмотров 20 тыс.
FP vs OOP: Choose Two by Brian Goetz
42:59
Просмотров 31 тыс.
Java Futures, Devoxx 2018 Edition by Brian Goetz
1:02:09
Event Sourcing   You are doing it wrong by David Schmitz
43:05
APPLE дают это нам БЕСПЛАТНО!
1:01
Просмотров 778 тыс.