invokedynamic was the first new Java bytecode since Java 1.0 and was crucial in implementing the "headline" features of Java 8 (such as lambdas and default methods). In this article, we take a deep dive into invokedynamic and explain why it is such a powerful tool for the Java platform and for JVM languages such as JRuby and Nashorn.
Prior to JDK8 class metadata and constants would live in an area called the “permanent generation”, contiguous with the Java heap. One problem was that If the class metadata size is beyond the allocated bounds your app would run out of memory. With the advent of JDK8 we no longer have PermGen. The space where it was held has now moved to native memory to an area known as the “Metaspace”.
The new book Real World OCaml provides a deep dive into the OCaml programming language. InfoQ caught up with the authors to hear about real world Ocaml users, its unique features, and much more.
Garbage Collection takes minutes to learn and a lifetime to master. In this article Master trainer/consultant Ben Evans summarizes his recent InfoQ presentation "Visualizing Garbage Collection"
In July Monica Beckwith explored the theory of the new G1 GC Garbage First Garbage Collector. In this second installment, Monica delves into more practical aspects and provides guidance for tuning. 12
Many articles describe how a poorly tuned garbage collector can bring an application's SLA to its knees. The G1 collector replaces the conventional algorithms with a concept of “regions” 4
Do the hundreds of JVM start-up flags baffle you when trying to tune the garbage collector? This article will explain the tradeoffs when choosing and tuning garbage collection algorithms 2
InfoQ examines how Azul's collector works, and explores some techniques you can use to test the impact of garbage collection in your applications.