Discover and read the best of Twitter Threads about #ProjectLoom

Most recents (4)

🧵Everything you might have missed in #Java in 2022

⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️
1. The unclear licensing model has been the most significant barrier to GraalVM adoption for years. However, at @JavaOne 2022, it was announced that @Oracle will make the GraalVM CE a part of the OpenJDK. Project Galahad has been set up to carry out the process - ❤️ that name.
2. @Google announced that it was joining the @adoptium working group as a Strategic Member. Google didn't just limit itself to throwing piles of 💰 at JDK, but together with @AlibabaGroup began working on Java Class Pre-Initialization to accelerate the cold start of applications.
Read 22 tweets
#Java18 comes out later today - what can you expect from Java's newest release? Here's a 🧵 with one tweet per feature - short and sweet.

For more details and links, read this blog post: nipafx.dev/inside-java-ne…
For questions, join our #JDK18 AMA later today. 👇🏾
Pattern Matching for `switch` (2nd preview)
openjdk.java.net/jeps/420

Changes:
* constant case labels must now appear before guarded patterns of the same type
* exhaustiveness checking is now more precise when sealed classes and generics mix

Another preview is expected in #JDK19.
Vector API (3rd incubation)
openjdk.java.net/jeps/417

Changes:
* support for ARM Scalar Vector Extension (SVE)
* performance for masked ops improved on architectures that support masking in hardware

Vector API will stay incubating until Valhalla's value/primitive types.
Read 14 tweets
#ProjectLoom's virtual threads will make high performance in concurrent systems attainable with much simpler code. But Loom aims for even more and wants to make the code clearer and more robust by introducing *structured concurrency*.

Here's what that's all about. 🧵
Important: This is about concurrency, not parallelism. See yesterday's thread 👇🏾 for a more detailed distinction, but the gist is that concurrency is about processing lots of tasks that the environment throws at your system at the same time, ideally with high throughput.
Concurrency code is often unstructured:

* splitting and joining concurrent subtasks in different methods/classes
* little support to compose error-handling, cancellation, … across subtasks
* threading structure is opaque to the runtime, which only sees independent threads
* …
Read 9 tweets
What's it called when multiple threads execute at the same time? Parallelism? Concurrency? 🤔 Is there a difference? (Spoiler: Yes!)

Let me explain in a few tweets, ripping off @pressron's #InsideJava blog post "On Parallelism and Concurrency". 🧵

inside.java/2021/11/30/on-…
Parallelism:
Taking a task and splitting it up, so multiple CPUs can compute partial solutions in parallel to solve the task in less wall-clock time.

Concurrency:
Having a number of tasks that need to be arranged in a way that solves as many of them per $time_unit as possible.
Some parallelizable tasks:

* sorting an array
* inverting a matrix
* rendering graphics

Some examples for concurrency:

* processing incoming web requests
* making outbound calls to DB and/or other web services
* observe file system for changes
Read 11 tweets

Related hashtags

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!