GOTO Berlin is a vendor independent international software development conference with more that 60 top speaker and 400 attendees. The conference cover topics such as Java, Open Source, Agile, Architecture, Design, Web, Cloud, New Languages and Processes.

Angelika Langer, Independent Computer Software Professional

Angelika Langer

Biography: Angelika Langer

Angelika Langer works as a trainer and consultant with a course curriculum of Java and C++ seminars. She enjoys speaking at conferences, among them JavaOne, JAX, JFokus, JavaZone and many more (see lanyrd.com). She is author of the online "Java Generics FAQs" and a "Lambda Tutorial & Reference" at AngelikaLanger.com. Together with Klaus Kreft she is author of numerous publication, among them a series of articles in the German JavaMagazin.

Twitter: @AngelikaLanger

Presentation: New Concurrency Utilities in Java 8

Track: Programming Languages / Time: Friday 14:30 - 15:20 / Location: Hall 1

There are a couple of new concurrency utilities in Java 8. The most relevant one is CompletableFuture. The regular Future is used for retrieval of a result that is produced by a task (typically a task that is executed in a thread pool). For this purpose the regular Future supports waiting for the result and retrieving it once it has been produced. After retrieval the result is processed synchronously. The new CompletableFuture, in contrast, supports asynchronous result processing: we need not wait until the result of a task has been produced, instead we can upfront specify an action (the result processing) that will later be executed automatically when the result appears. In addition, Java 8 comes with a couple of minor extensions related to concurrency: StampedLock (a ReadWriteLock with optimistic Read), LongAdder / LongAccumulator (as an alternative to AtomicLong), new operations in ConcurrentHashMap (e.g.. computeIfAbsent, forEach, reduce, search), the Common Pool (a singleton ForkJoinPool) and the @Contended annotation (to prevent False Sharing).

Audience: Java developers with sound knowledge in Java concurrency who want to keep their knowledge up to date
Level: medium