Monday Apr 11, 2016

Java Magazine March/April Issue

By Java Magazine Editor Andrew Binstock

Welcome to the March/April issue of Java Magazine in which we dig into the inner workings of Java and the JVM. This issue is pure nerd-stim: bits and bytes have never been as much fun as exploring how the JVM manages garbage collectors and code caches. All good developers are mindful of how their code executes, but due to constant advances in the language and the JVM, knowing what's going on behind the scenes is not always easy.

So, let's dig in. We start by looking into the fundamentals of just-in-time (JIT) compilation in the JVM, we compare the performance of different garbage collectors, and then we update an article on the JVM's code cache and its effects on performance. To these, we add deep dives into how Java itself works: how annotations are handled and how to write your own annotations; plus we examine how the Java Collections Framework was optimized using laziness, which is a technique that is available to you in your code.

The rest of the issue shows off Golo, a new JVM language; better persistence in Java EE; and how enums work in Java--all topped off by our famous language quiz, our no-holds-barred book review, and my editorial, which discusses a new proposal by the Java team to add greater type inference to the language. Enjoy! 

Read this new edition of the Java Magazine


Thursday Aug 27, 2015

Just-in-Time Compilation with JITWatch

Want to optimize the performance of your code? Ben Evans and Chris Newland wrap up their three-part series about using JITWatch to understand the just-in-time (JIT) compilation techniques used by the dynamic compiler in Oracle’s Java HotSpot VM. JITWatch is a free, open source tool developed by Newland that analyzes the complex compilation log file output generated by Java HotSpot VM. Among other things, it can help you visualize and understand the optimization decisions made by Java HotSpot VM.

Part 3 describes how to use JITWatch to see the effects that even small source code changes can have on Java HotSpot VM switches. Learn about Sandbox and VM switches features. Sandbox will let you edit code and then compile, execute, and analyze the Java HotSpot VM JIT logs. The VM switches are used to control JIT compilation.

In the September/October edition of Java Magazine Ben and Chris wrote part 2, which focuses on how to examine JIT logs to see what the JIT compiler is doing (and why). Part 1 provides a primer on JIT compilation.

Sunday Sep 30, 2012

Talking JavaOne with Rock Star Charles Nutter

JavaOne Rock Stars, conceived in 2005, are the top rated speakers from the JavaOne Conference. They are awarded by their peers who through conference surveys recognize them for their outstanding sessions and speaking ability. Over the years many of the world’s leading Java developers have been so recognized.

We spoke with distinguished Rock Star, Charles Nutter.

A JRuby Update from Charles Nutter

Charles Nutter of Red Hat is well known as a lead developer of JRuby, a Ruby implementation of Java that is tightly integrated with Java to allow for the embedding of the interpreter into any Java application with full two-way access between the Java and the Ruby code.

Nutter is giving the following sessions at this year’s JavaOne:

  • CON7257 – “JVM Bytecode for Dummies (and the Rest of Us Too)”
  • CON7284 – “Implementing Ruby: The Long, Hard Road”
  • CON7263 – “JVM JIT for Dummies”
  • BOF6682 – “I’ve Got 99 Languages, but Java Ain’t One”
  • CON6575 – “Polyglot for Dummies” (Both with Thomas Enebo)


I asked Nutter, to give us the latest on JRuby. “JRuby seems to have hit a tipping point this past year,” he explained, “moving from ‘just another Ruby implementation’ to ‘the best Ruby implementation for X,’ where X may be performance, scaling, big data, stability, reliability, security, and a number of other features important for today's applications. We're currently wrapping up JRuby 1.7, which improves support for Ruby 1.9 APIs, solves a number of user issues and concurrency challenges, and utilizes invokedynamic to outperform all other Ruby implementations by a wide margin. JRuby just gets better and better.”

When asked what he thought about the rapid growth of alternative languages for the JVM, he replied, “I'm very intrigued by efforts to bring a high-performance JavaScript runtime to the JVM. There's really no reason the JVM couldn't be the fastest platform for running JavaScript with the right implementation, and I'm excited to see that happen.”

And what is Nutter working on currently? “Aside from JRuby 1.7 wrap-up,” he explained, “I'm helping the Hotspot developers investigate invokedynamic performance issues and test-driving their new invokedynamic code in Java 8. I'm also starting to explore ways to improve the general state of dynamic languages on the JVM using JRuby as a guide, and to help the JVM become a better platform for all kinds of languages.”

Originally published on blogs.oracle.com/javaone.


About

Insider News from the Java Team at Oracle!

duke
Links


Search

Archives
« June 2016
SunMonTueWedThuFriSat
   
3
4
5
6
9
10
11
12
13
17
18
19
20
23
24
25
26
27
28
29
30
  
       
Today