BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Virtual Machines Content on InfoQ

  • 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.

  • InfoQ Talks to Azul Systems Gil Tene Part 2

    In this part 2 of InfoQ's conversation with Gil Tene of Azul Systems, Gil discusses their latest engineering project aimed at bring better low-level memory layout control to Java, and the requirement modern high-performance Java applications have for this solution.

  • InfoQ Talks to Azul Systems Gil Tene about Zing, Zulu, and New Releases

    Gil Tene of Azul Systems talks about shipping their Java 8 compatible release, the need for certified builds and the problem with the current approach to Java taken by Docker.

  • DukeScript: A New Attempt to Run Java Everywhere

    DukeScript is a technology meant to bring Java to every client, mobile or desktop, without the need of a plug-in. In spite of its misleading name, DukeScript is not a new scripting language but an attempt to “put Java back in JavaScript”, in an attempt to fulfill the initial vision for Java: Write Once, Run Everywhere.

  • Java 8 Lambdas - A Peek Under the Hood

    Java 8 was released in March 2014 and introduced lambda expressions as its flagship feature. 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.

  • Docker: Present and Future

    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. This article provides both a business and a technical point of view on Docker and separates the hype from the reality.

  • Where Has the Java PermGen Gone?

    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”.

  • Book Review: Vagrant up and running

    Mitchell Hashimoto released his book "Vagrant up and running" which covers everything from basic Vagrant usage to extending its functionality. In seven chapters he explains every aspect of Vagrant - from staring a default VM to extending it via plug-ins.

  • Getting Started with HotSpot and OpenJDK

    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.

BT