Speaker: Tomasz Nurkiewicz

(He / him / his)

Java Champion and CTO @DevSkiller

Spent half of his life on programming, for the last decade professionally in Java land. Loves back-end and data visualization. Passionate about alternative JVM languages. Disappointed with the quality of software written these days (so often by himself!), hates long methods and hidden side effects. Interested in charting, data analysis and reporting. Believes that computers were invented so that developers can automate boring and repetitive tasks. Also their own. On a daily basis works in the e-commerce sector. Involved in open-source, DZone’s Most Valuable Blogger, used to be very active on StackOverflow. Author, trainer, conference speaker, technical reviewer, runner. Claims that code not tested automatically is not a feature but just a rumour. Wrote a book on RxJava for O’Reilly.

Find Tomasz Nurkiewicz at:

Session + Live Q&A

Project Loom: Revolution in Java Concurrency or Obscure Implementation Detail?

Loom’s promise: simplify concurrency the way garbage collection simplified memory management. It became transparent and almost forgettable. It's an effort to bring lightweight threads to the JVM. Such threads have low memory and scheduling footprint so that you can create millions of them. Start new threads per each request or connection. Without worrying about memory footprint or context switching. Literally millions. Problems that Loom tries to address:

  • obscure non-blocking APIs
  • mysterious stack traces coming from reactive frameworks
  • pooling threads altogether

That's right; you may no longer need any ExecutorServices. To be honest, it's a leaky abstraction anyway that needs to be fine-tuned and monitored. What if you could simply spawn a new thread whenever it makes sense? Start thinking about tasks to perform, not physical threads that you must manage. Come and see how this radical shift can simplify your concurrent code.

In this talk, we'll explore:

  • what is Loom?
  • How it's implemented?
  • What problems does it solve?
  • What are the shortcomings?
  • Will it make reactive programming obsolete?

And finally, we'll learn that it's not a silver bullet, and it comes with its own set of issues.

Date

Wednesday May 11 / 10:10AM EDT (50 minutes)

Track

Modern Java

Topics

JavaConcurrencyJVMGarbageCollection

Add to Calendar

Add to calendar

Share