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?
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
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.
In this part 2 of InfoQ's conversation with Gil Tene of Azul Systems, Gil discusses their latest engineering project aimed at bringing better low-level memory layout control to Java.
Gil Tene of Azul Systems talks about shipping their Java 8 compatible release and the need for certified builds.
DukeScript is a technology meant to bring Java to every client, mobile or desktop, without the need of a plug-in, in an attempt to fulfill the initial vision for Java: Write Once, Run Everywhere.
This article sheds light on how Java 8 lambda expressions and method references are implemented under the hood, and looks at the generated bytecode and performance implications.
Chris Swan presents an overview of the Docker journey so far and where it is headed along with its growing ecosystem of tools for orchestration, composition and scaling. 3
Prior to JDK8 class metadata and constants would live in an area called the “permanent generation”. In JDK8 PermGen has now moved to native memory, to an area known as the “Metaspace”. 2
Mitchell Hashimoto released his book "Vagrant up and running" which covers everything from basic Vagrant usage to extending its functionality.
In this article, we look at the HotSpot Java Virtual Machine, and its implementation in the OpenJDK, both from a VM perspective and also in terms of its interaction with the Java class libraries. 1
InfoQ brings together four experts in low latency Java to discuss some of the best practices when using Java in these situations.