InfoQ Homepage Java Content on InfoQ
-
Diagnosing Common Database Performance Hotspots in our Java Code
Java performance issues are often attributable to bad database access patterns. In this article a top performance field engineer demonstrates his patterns for diagnosing database related issues.
-
IAP: Fast, Versatile Alternative to HTTP
Jakob Jenkov's organization has analyzed the modern application stack, including high level architectures, concrete technologies like databases, query languages, messaging, distributed computing models, & network protocols, and constructed the next gen alternative to HTTP. IAP is the resulting emerging standard protocol, and ION the high speed alternative to JSON and Protocol Buffers.
-
Clojure Recipes Review and Q&A
Addison Wesley’s Clojure Recipes is a new book that aims to help developers to get deeper into Clojure, moving from a generic understanding of the language features and syntax to setting up more complex projects that integrate external libraries. The book contains a collection of "weekend" projects targeting web client and server apps, implementing DSLs, using Datomic, Cascalog, Hadoop, etc.
-
Programming with Modularity and Project Jigsaw. A Tutorial Using the Latest Early Access Build
Project Jigsaw is the hallmark feature of Java 9, the next major version release of Java, and is destined to bring modular programming into the Java mainstream. After years of negotiating and myriad JSRs and JEPs, Jigsaw is starting to take its final form. This tutorial considers all aspects of programming and migration to Project Jigsaw.
-
OCP Oracle Certified Professional Java SE 8 Programmer Study Guide II-Review and Author Conversation
The Oracle Java Certification exams are very difficult tests on every feature of Java, and obtaining certification gives hiring managers a very strong indication that you have a thorough understanding of Java. This handbook is a clear and complete exam preparation, and indeed a great pedal to the metal way to learn Java 8 even for those who may not be planning to become certified.
-
Exposing the Lucene Library as a Microservice with Baratine
Baratine is an asynchronous facade that can be placed in front of an existing library without modifying its code base, thus exposing the library as a microservice available to any language, and simplifying the requirement to have a nonblocking scalable web service. This article shows how Baratine’s POJO platform takes an API-centric approach to building high performance microservices.
-
What We’ve Learned at Devoxx4Kids about Teaching Technology to Kids
The holiday season is a great time to think about our children and their futures, and how we can guide them into the lucrative field of programming and electrical engineering at a young age. Java Champions Arun Gupta and Daniel De Luca, organizers of the popular Devoxx4Kids conference, reveal tried and proven tools and techniques for teaching these abstract fields to our fledglings.
-
The Soul of a New Release: Eating Our Own Dog Food
As any software developer well knows, large releases are often delayed, or released sans some important features, and newly released software is often riddled with bugs. In this article Plumbr's development lead describes techniques they used to successfully release a major upgrade to the Plumbr Java Performance Monitoring solution, without getting burned by the usual fires.
-
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.
-
Java: The Missing Features
In this article, we look at some of the "missing features" of Java, as well as the work, if any to remediate those.
-
Next Generation Session Management with Spring Session
Spring Session makes it easy to write horizontally scalable cloud applications, offload session state into specialized external session stores, and take advantage of current technologies such as WebSockets. This article takes a deep dive into using Spring Session to maximize these benefits, avoiding the limitations of traditional session management employed by enterprise Java
-
From Imperative to Functional and Back-Monads are for Functional Languages
Grafting Functional Programming's approach of monadic composition onto imperative languages yields the worst of both worlds. And the only reason for importing the PFP abstraction is due to a flaw in that most basic concurrency abstract, the thread; a flaw that can be easily rectified by the introduction of fibers.