InfoQ Homepage JVM Content on InfoQ
-
Java InfoQ Trends Report - July 2019
The InfoQ Java trend report provides an overview of technology adoption and commentary on how we see the Java and JVM-related space evolving in 2019. Key developments include the release of Java 13, the rise of non-HotSpot JVMs and the evolution of GraalVM, and the changing landscape of Java microservice frameworks.
-
Book Review: Optimizing Java
InfoQ reviewed the book Optimizing Java, a comprehensive in-depth look at performance tuning in the Java programming language written by Java industry experts, Ben Evans, James Gough and Chris Newland. InfoQ spoke to the authors for more insights on their experiences, learnings and obstacles in authoring this book.
-
Getting to Know Graal, the New Java JIT Compiler
Oracle have released Graal, a new JIT compiler for Java. For Java developers, Graal can be thought of as several separate but connected projects - it is a new JIT compiler for HotSpot, and also a new polyglot virtual machine, GraalVM. The initial release includes support for JVM bytecode and JavaScript with LLVM, Ruby and R in beta.
-
InfoQ Call for Articles
InfoQ provides software engineers with the opportunity to share experiences gained using innovator and early adopter stage techniques and technologies with the wider industry. We are always on the lookout for quality articles and we encourage practitioners and domain experts to submit feature-length (2,000 to 3,000 word) papers that are timely, educational and practical.
-
Under The Hood with the JVM's Automatic Resource Management
The deprecation of Object::finalize is an unusual step for the Java ecosystem. We dive deep into the Hotspot JVM to see how it works. We also compare it to RAII and the Java 7, try-with-resources syntax. The article contrasts these very different approaches to automatic resource management, and explains why TWR should be used in place of finalization by application programmers.
-
What the JIT!? Anatomy of the OpenJDK HotSpot VM
If you've ever wondered what happens when your bytecode executes, join former Oracle G1GC performance-lead Monica Beckwith in her guided tour of just-in-time (JIT) compilation and runtime optimizations in OpenJDK HotSpot VM.
-
Top 10 Performance Mistakes
Martin Thompson, co-founder of LMAX, keynoted at QCon São Paulo 2016, outlining the top 10 performance related mistakes that he has encountered in production.
-
Easily Create Java Agents with Byte Buddy
In this article Rafael Winterhalter, creator of the bytecode manipulation tool Byte Buddy, provides detailed guidance on how to easily create Java agents using Byte Buddy.
-
Fighting Developer Fatigue with JNBridge
Developer fatigue is the overwhelming frustration felt by developers who are under pressure to keep current with a flood of new languages, libraries, frameworks, platforms and programming models. JNBridge offers a way to help alleviate developer fatigue by allowing you to mix the libraries you know with code written in the language you are learning.
-
A Post-Apocalyptic sun.misc.Unsafe World
The removal of sun.misc.Unsafe and other private APIs in Java 9 has in recent weeks divided the Java community perhaps as never before in its 20 year history. Even though a resolution has now been proposed and a migration path presented, the big question remains: What will a post sun.misc.Unsafe world look like?
-
Java Bytecode: Bending the Rules
Throwing checked exceptions without declaration, changing final fields; these kinds of antics would never be tolerated by the Java language. But using Java bytecode these can be done readily. Few developers ever work with Java bytecode directly, but bytecode format is not difficult to understand. In this article Rafael Winterhalter takes us on a tour of Java bytecode & some of its capabilities
-
Secrets of the Bytecode Ninjas
The Java language is defined by the Java Language Specification. But the executable bytecode of the Java Virtual Machine is defined by a completely separate standard, the Java Virtual Specification, and the two are often at odds. In this article we take a look at the structure of a class file and how to create class files directly without starting from Java source, using the ASM library.