11:00 - 11:45 Thursday, June 1

Why and How to Upgrade to Java 17 (and Prepare for 21)

Java upgrades are sometimes seen as difficult and many applications are still running on an older version of Java. This session describes Java's current six months release process and why applications should use a recent Java version. After that, I'll explain the challenges of upgrading and provide some useful tips to make the process easier. Concrete examples (including solutions) will be used to show you what changed in which version of Java and how to handle the changes. After this session you're ready to upgrade your applications to Java 17 and prepare for Java 21.

Read more...
Speaker:
Johan Janssen
Podjetje
ASML
10:05 - 10:50 Track D

Log4Shell restrospective

It's been one and a half years: Let look behind the immediate pain of Java's now infamous logging library Log4j — what happened, how, and why it's still relevant.

  • How does the vulnerability work and why was it so special?
  • Why is it relatively complex to detect and evaluate for both custom and off-the-shelf software?
  • How can you monitor exploitation attempts?
  • Can we avoid the next one?
Read more...
Speaker:
Philipp Krenn
Podjetje
Elastic
9:00 - 9:45 Track D

Eclipse MicroStream - Ultra-fast Java cloud-native persistence for microservices and serverless apps

Hibernate is the de facto standard persistence framework for traditional Java database applications. Now, Eclipse MicroStream was built to be the Java persistence for containerized microservices and serverless functions. Eclipse MicroStream follows the system prevalence architectural pattern. The engine enables seamlessly storing any Java objects of any size and complexity transaction-save into cloud-native blob stores such as AWS S3 or any other binary storage. ACID transactions are journaled and deltas of the system state are regularly saved to disk. To reduce startup time and run also with a small RAM capacity of under 1 GB, MicroStream provides lazy loading. With Java Streams API, queries are executed in memory in microseconds - way faster than comparable JPA queries. Implementing is simple. There are no requirements for the entity classes, no annotations, interfaces, or superclasses, just POJOs. Additionally, expensive mappings or any data conversions are eliminated. The core benefits are extremely high performance, simple implementation, running trouble-free with stateless microservices, and reduced cloud storage costs.

Read more...
Speaker:
Markus Kett and Christian Kuemmel
Podjetje
MicroStream
16:05 - 16:50 Track D

Adaptive JVM (GC) Threading: The Goldilocks Dilemma with Parallelism

Through this session, the audience will get an under-the-hood look at OpenJ9 JVM/GC technology, they will be exposed to innovations in the JVM space, and overall gain a better understanding of the implications of GC on application performance by exploring a cool new optimization - Adaptive Threading!

This session intends to take a deep dive into Eclipse OpenJ9 JVM/GC internals, it first lays out the basics of GC and builds upon them to explore performance. The presentation will heavily focus on GC parallelism and Adaptive Threading, a new innovative GC optimization for self-tuning parallelism to minimize application pause times. The role of parallelism in reducing pause times and the way in which GC tasks are parallelized to take advantage of available resources are explored. The audience will see the effects of GC parallelism on performance and observe how parallelism can be unexpectedly detrimental to performance. The session then shifts focus onto Adaptive Threading and signifies the need to develop an optimization for self-tuning GC threading/parallelism. We explore how Adaptive Threading aims to find the “goldilocks” or equilibrium number of threads, where GC achieves peak performance through parallelism. With the use of heuristics and a threading model, an optimal thread count can be projected, and the thread count can be adjusted dynamically between GC cycles to minimize inefficient use of threads. The presentation showcases how this cannot be done trivially; accurate decisions must be made to determine when to adjust the thread count, and how much to adjust by.

Read more...
Speaker:
Salman Rana
Podjetje
IBM
16:05 - 16:50 Thursday, June 1

Adaptive JVM (GC) Threading: The Goldilocks Dilemma with Parallelism

Through this session, the audience will get an under-the-hood look at OpenJ9 JVM/GC technology, they will be exposed to innovations in the JVM space, and overall gain a better understanding of the implications of GC on application performance by exploring a cool new optimization - Adaptive Threading!

This session intends to take a deep dive into Eclipse OpenJ9 JVM/GC internals, it first lays out the basics of GC and builds upon them to explore performance. The presentation will heavily focus on GC parallelism and Adaptive Threading, a new innovative GC optimization for self-tuning parallelism to minimize application pause times. The role of parallelism in reducing pause times and the way in which GC tasks are parallelized to take advantage of available resources are explored. The audience will see the effects of GC parallelism on performance and observe how parallelism can be unexpectedly detrimental to performance. The session then shifts focus onto Adaptive Threading and signifies the need to develop an optimization for self-tuning GC threading/parallelism. We explore how Adaptive Threading aims to find the “goldilocks” or equilibrium number of threads, where GC achieves peak performance through parallelism. With the use of heuristics and a threading model, an optimal thread count can be projected, and the thread count can be adjusted dynamically between GC cycles to minimize inefficient use of threads. The presentation showcases how this cannot be done trivially; accurate decisions must be made to determine when to adjust the thread count, and how much to adjust by.

Read more...
Speaker:
Salman Rana
Podjetje
IBM
10:05 - 10:50 Thursday, June 1

Log4Shell restrospective

It's been one and a half years: Let look behind the immediate pain of Java's now infamous logging library Log4j — what happened, how, and why it's still relevant.

  • How does the vulnerability work and why was it so special?
  • Why is it relatively complex to detect and evaluate for both custom and off-the-shelf software?
  • How can you monitor exploitation attempts?
  • Can we avoid the next one?
Read more...
Speaker:
Philipp Krenn
Podjetje
Elastic
11:00 - 11:45 Track E

Why and How to Upgrade to Java 17 (and Prepare for 21)

Java upgrades are sometimes seen as difficult and many applications are still running on an older version of Java. This session describes Java's current six months release process and why applications should use a recent Java version. After that, I'll explain the challenges of upgrading and provide some useful tips to make the process easier. Concrete examples (including solutions) will be used to show you what changed in which version of Java and how to handle the changes. After this session you're ready to upgrade your applications to Java 17 and prepare for Java 21.

Read more...
Speaker:
Johan Janssen
Podjetje
ASML
Subscribe to this RSS feed