By Java Magazine Editor Andrew Binstock
Welcome to the March/April issue of Java Magazine in which we dig into the inner workings of Java and the JVM. This issue is pure nerd-stim: bits and bytes have never been as much fun as exploring how the JVM manages garbage collectors and code caches. All good developers are mindful of how their code executes, but due to constant advances in the language and the JVM, knowing what’s going on behind the scenes is not always easy.
So, let’s dig in. We start by looking into the fundamentals of just-in-time (JIT) compilation in the JVM, we compare the performance of different garbage collectors, and then we update an article on the JVM’s code cache and its effects on performance. To these, we add deep dives into how Java itself works: how annotations are handled and how to write your own annotations; plus we examine how the Java Collections Framework was optimized using laziness, which is a technique that is available to you in your code.
The rest of the issue shows off Golo, a new JVM language; better persistence in Java EE; and how enums work in Java–all topped off by our famous language quiz, our no-holds-barred book review, and my editorial, which discusses a new proposal by the Java team to add greater type inference to the language. Enjoy!
Read this new edition of the Java Magazine