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

  • Q&A with Elton Stoneman on Migrating Workloads and Running Docker on Windows

    These are still early days for Docker on Windows but the possibilities in terms of workloads keeps growing. InfoQ spoke with Elton Stoneman, author of the book Docker on Windows, and speaker at the recent WinOps conference, to understand how to run containers on Windows and which kind of workloads are a good choice for migration.

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

  • The Three Generations of AWS

    When building a new system on AWS we are faced with three architectural choices around application packaging, runtime service and load balancing service. This article looks at these three options, and concludes that the Amazon EC2 Container Service provides the best architectural option for today's applications.

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

  • Understanding Bitcode for iOS Applications

    When Apple released Xcode 7, they also enabled applications to be distributed to the AppStore through bitcode, instead of per-processor target files. InfoQ looks under the covers at what Bitcode is, what advantages it may offer, and why developers should consider enabling bitcode projects for their iOS targets.

  • Packet Inspection for Unauthorized OS Detection in Enterprises

    The authors discuss an approach that uses TCP SYN packets for OS fingerprinting to detect the presence of unauthorized OSs in an enterprise.

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

BT