While it almost certainly remains the largest Ruby on Rails based site in the world, Twitter has gradually been moving more and more of its stack to the JVM. Last year the company announced that its back-end message queue had been re-written in Scala, and more recently it moved the search stack to Java, making Twitter search around three times faster.
Azul's recently announced Zing product brings their Garbage Collector, which achieves both pauseless garbage collection and a high tolerance to the factors which typically impact collection and application responsiveness, to Java programs running on Intel and AMD based servers. This article takes a detailed look at how Azul has been able to achieve these design goals.
InfoQ caught up with Charles Nutter to talk about the state of JRuby: the 1.5 release, Ahead of Time compilation, and what's coming up in 1.6 and with features in Java 7.
Java 7 aims to improve support for dynamic languages through JSR 292. InfoQ takes a detailed look at the problems JSR 292 solves, and talks to JRuby lead Charles Nutter about JSR 292 in practice. 5
This article explains the impact memory barriers, or fences, have on the determinism of multi-threaded programs. 2
This article presents one developer's approach to dealing with the "fiendishly hard" OSGi issue of service dynamics. The basic problem is described and two different solutions are proposed. 2
One of the most exciting things in Java right now is the work being done to get other programming languages onto the JVM. If you want to try something very different from Java, Lisp is a great option. 12
Jeroen Borgers examines if biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking techniques in the latest JVMs actually work in highly-concurrent apps. 3
Jeroen Borgers examines if biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking techniques in the latest JVMs actually work in highly-concurrent apps. 16
Simon Ritter explains the vision and capabilities of the Real-Time Java specification (RTSJ), which will bring guaranteed response times regardless of GC. 3
Finding performance bottlenecks can be a difficult task and it can get more difficult as our applications grow in size. The Box is a methodology tool that focuses us efforts to improve performance. 6