You are viewing robilad

Next Gig: FOSDEM

I'll be speaking on JDK 7 Updates in the Java developer room at FOSDEM.

See you there!

Tracking Your Issues In The JDK Bug System

Let’s say you want to find out about issues filed in the JDK Bug System that mention Apache Lucene. You just need to go to, and type Lucene into the search box:


And you’ll get a list of results:


That was very easy.

What if you wanted to be kept up to date when new issues mentioning Apache Lucene are added to the JDK Bug System, or when new comments are added to the issues in the system?

That’s where RSS feeds come in:


OK, great. But what if you’ve filed an issue that has nothing to do with Apache Lucene at all - what is the URL of the RSS feed for comments for a particular issue?

Let’s say you filed issue 8xxxxxx, then the URL of the RSS feed for comments for that issue is

Happy tracking!

New month, new talks. Many new talks, in fact - all of JavaOne 2013 presentations have been published online. In addition, the OTN team has been busy publishing interviews from Devoxx on the Oracle Java YouTube channel.

But first, let's start with a video from Kaushik Srenevasan from Twitter University on Profiling Java in Production diving into the home grown HotSpot tooling at Twitter using the Linux perf profiler.

At Devoxx, Nighthacker Stephen Chin interviewed Brian Goetz and Stuart Marks on Project Lambda. OTN's Tori Wieldt interviewed Brian as well. And if you just can't get enough of watching Brian talk about Lambdas and want to start playing with Lambdas yourself, Stephen, Stuart and Brian will be hosting a NightHacking Worldwide Event on Lambdas on January 16th.

Also as Devoxx, Tori interviewed Mark Reinhold on Java SE 8, Jigsaw and a lot more. And if you can't get enough of listening to Mark, his JavaOne 2013 presentations are now online as well:

Other OpenJDK related talks from JavaOne that are available now are:

There are many more presentations on the JavaOne 2013 sessions website.

Test All The Builds

Last week brought a first Early Access build of JDK 7u60: Build b01. A list of changes is available in the JDK Bug System. As the focus of the JDK 7u60 release is plain old bug fixes, this first build contains bug fixes across the JDK code base.

As part of the Early Access build community testing efforts, the Apache Lucene team has given this build a spin already with some encouraging results. If you find issues during your own testing of this build, please report a bug.

Moreover, if you are interested in participating in regular community testing of Early Access builds, you can join the quality-discuss mailing list at OpenJDK, and let the community know about your experiences.

In addition, a new Early Access build of JDK 8: Build b118 is now available for testing. This build updates HotSpot in JDK 8 to HotSpot 25 build 60 and updates the man pages.

An extensive list of changes since the previous build is linked off the download site. For developers making their own OpenJDK builds, and looking to compare their regression test results with others, JDK 8 b118 regression test results have been posted to the quality-discuss mailing list, as usual.

The next build, b119, has already been tagged.

Happy testing!

Thank You: 9000 @OpenJDK Followers

After reaching 8000 @OpenJDK followers back in June, it's time for another update: 9000!

Since it has historically taken a couple of months to for another thousand followers to appear, the number of followers may cross the 10k mark around FOSDEM. Which reminds me - the Call for Participation for the Free Java devroom at FOSDEM closes in a few days, so I really need to get my abstract submitted.

OpenJDK In The News: JavaOne 2013 Edition

This year's JavaOne featured a few new press releases from Oracle mentioning OpenJDK. Here are the relevant excerpts:

Freescale, Linaro and Square have recently joined the OpenJDK Community, which continues to thrive with contributions from Oracle, as well as other companies, researchers and individuals.

The OpenJDK Community infrastructure also continues to improve, increasing transparency and making collaboration more efficient. The OpenJDK Wiki was made available this past April and the new JDK Bug System was just launched last week.

Taken from the Oracle press release titled Oracle Outlines Java Platform Advancements and Highlights Java Momentum in JavaOne 2013 Strategy Keynote.

Oracle continues to work with the Java Community to advance the Java Platform, Standard Edition (Java SE). Developer builds are now available for the upcoming Java Development Kit (JDK) 8, which will include: Project Lambda, a new Date and Time API, Compact Profiles and the Nashorn JavaScript Engine. The OpenJDK Community continues to thrive with contributions from Oracle, as well as other companies, researchers and individuals.

The OpenJDK Community continues to host the development of both the Java SE 8 Specification and JDK 8 and continues to thrive with contributions from Oracle, as well as other companies, researchers and individuals.
  • Freescale recently joined the OpenJDK Community and will be collaborating with Oracle and others to help evolve the Java platform and optimize Java for Freescale i.MX ARM-based Applications Processors. Freescale has also joined the JCP and intends to work with Oracle and other JCP members on future Java specifications for small and large devices, especially resource constrained MCU based devices, for the Internet of Things.

  • Linaro has also joined the OpenJDK Community and is already contributing to porting and optimizing Java for 64-bit ARM processors.

  • Square has also joined the OpenJDK Community and is actively collaborating with Oracle and others in the community to enhance the Java programming language, JVM, and core libraries.

The OpenJDK Community infrastructure continues to improve, increasing transparency and making collaboration more efficient. The OpenJDK Wiki was made available this past April and the new JDK Bug System was just launched last week.

Taken from an Oracle press release titled Oracle Highlights Java SE Momentum at JavaOne San Francisco 2013.

That brings the total count up to 17 press releases from Oracle mentioning OpenJDK.

Next Gig: JDK 8 BOF at EclipseCon Europe

I'll be at EclipseCon Europe in Ludwigsburg, Germany next week to listen to your experiences trying out JDK 8 EA builds with Eclipse at a BOF on Tuesday evening at 8:30 PM.

If you haven't tried out JDK 8 EA builds yet with your Eclipse-based projects, you can grab the latest build here. If you find a regression, you don't have to wait until Tuesday to let me know about it - please report it as soon as you find it.

And of course, if there is something else around OpenJDK you'd like to chat about, let me know on Twitter (or send me an e-mail), and we'll find some space and time - I'll be at EclipseCon Europe from Tuesday till Thursday.

See you there!

I'll be joining Paul Sandoz on Monday evening (September 9th) for the first Java Magazin Lambda Tour event in Hamburg.

See you there!

JavaOne 2013: OpenJDK Edition

The JavaOne 2013 content catalog is now live. As in the previous years, I took the opportunity to look for the talks and BOFs with OpenJDK in their title, or abstract, and pull them together in a list:

  • OpenJDK and JCP: Success Through Contribution - Sunday, Sep 22, 4:45 PM - 5:45 PM
    In January 2013, JUGCologne adopted Contexts and Dependency Injection (CDI) 1.1 and JavaServer Faces (JSF) 2.2 and started working with the community on both JSRs. This session highlights the ups and downs of its decision, how people participated, how others reacted to it, and the results after eight months of participation. The presentation focuses on the Java Community Process (JCP) process and contributions from the community and includes a discussion of the OpenJDK community process.

  • Jump-starting Lambda Programming - Monday, Sep 23, 10:00 AM - 12:00 PM
    You’ve probably heard about the new lambda feature that’s going to be in Java 8. What might not be obvious is why lambda is important and how you can use it effectively. This tutorial begins by taking apart some familiar programming examples and putting them together in a new, idiomatic style, employing lambda expressions. The tutorial then introduces the new Stream library that is also being introduced in Java 8. This new library is entirely based on lambda. The tutorial describes various Stream operations that can be composed into a pipeline and provides working examples of pipelines using lambda that are concise and fluent and facilitate parallel computation.

  • It Takes a Community - Monday, Sep 23, 10:00 AM - 11:00 AM
    Creating the future of Java is a community effort. This session reviews the global participation in OpenJDK. Starting with OpenJDK bugathons and extending to AdoptJSR and AdoptOpenJDK efforts, it showcases the community of developers and projects that support and make up the larger OpenJDK ecosystem.

  • Meet the Oracle Java Client and JavaFX Teams - Monday, Sep 23, 4:30 PM - 5:15 PM
    This BOF is an excellent opportunity to meet development engineers from the Oracle JavaFX, AWT/Swing, Java 2D, and i18n teams. It’s expected to be a lively discussion about the development process, progress over the past year, and future plans for the Java UI. Likely topics include new JavaFX 8 features, Mac OS X support in AWT/Swing/Java 2D and JavaFX, and involvement in OpenJDK and OpenJFX projects.

  • HotSpot Internals: How to Explore and Debug the OpenJDK VM at the OS Level - Monday, Sep 23, 4:30 PM - 5:15 PM
    One of the little-known advantages of having a complete open source Java VM such as OpenJDK is that you can easily build a debug version of the VM. Such a debug VM offers a multitude of tracing, logging, introspection, and configuration possibilities that are not available in the normal product builds. This interactive session demonstrates how you can easily build a debug version of Oracle’s OpenJDK HotSpot VM and how it can be used to see, for example, which bytecode the VM is currently executing, which assembler code the JIT compiler is generating, and if your favorite optimization is really optimizing your code in the expected way.

  • Infrequently Asked OpenJDK Questions - Monday, Sep 23, 6:30 PM - 7:15 PM
    On the Web, just as in OpenJDK BOF sessions at JavaOne, some questions about OpenJDK such as “What is the difference between Oracle’s JDK and OpenJDK?” and “Why does OpenJDK use Mercurial rather then Git?” show up often enough that this session covers a little bit of everything somebody on the internet always wanted to know about OpenJDK and dared to ask.

  • Using Java to Build Java: Revealing the Power of Open Java Technologies - Monday, Sep 23, 8:30 PM - 9:15 PM
    Learn how modern Java-based technologies such as Jenkins, Maven, Play2, and Ant (not to mention JAX-RS, JAX-WS, and other Java EE and Java SE technologies) are being harnessed by the OpenJDK community to create an open build and test infrastructure that is being used to build the Java runtime itself. This session discusses the technical, business, and personal challenges involved in creating a new type of “social” Website where developers from all walks of life can work together on their common passion: helping keep Java great. Building and testing code is something all developers understand. The presentation uses that common understanding of the challenges involved to help demonstrate the design and implementation of a unique system built for Java by Java developers.

  • JDK 8 Compact Profiles for Embedded and Oracle ADF Mobile on iOS Devices - Tuesday, Sep 24, 11:30 AM - 12:30 PM
    JDK 8 has introduced a new Compact Profiles feature that allows for three JDK 8 spec–compliant subsets of Java SE 8 APIs. Compact Profiles will enable the creation of JDK 8 Java runtimes that will be able to support configurations that previously were possible only with the CDC version of J2ME based on the Java SE 1.4.2 language and APIs. This session describes the contents of Compact Profiles, how to build and use them, and the details of the Oracle-provided OpenJDK and binary implementations for Java Embedded and the Oracle ADF Mobile feature of Oracle Application Development Framework (Oracle ADF). It also discusses Compact Profile use cases such as Java Embedded, Oracle ADF Mobile for iOS, and Android platforms and application store packaging.

  • Implement a High-Level Parallel API in JDK - Tuesday, Sep 24, 1:00 PM - 2:00 PM
    This session discusses how to implement a high-level parallel API (such as parallel_for, parallel_while, or parallel_scan) and math calculation based on a thread pool and task in OpenJDK that aligns with the development of multicores and parallel computing. At present, programmers have to use a schedule strategy statically in code instead of choosing it dynamically based on the core number and load balance on the computer with the current Java concurrent package. In the design presented in the session, the function parallel_for(array, task) is a high-level API that can divide the task range dynamically, based on the condition of and load on different computers.

  • Wholly Graal: Accelerating GPU Offload for Java - Tuesday, Sep 24, 3:00 PM - 4:00 PM
    GPU offload is an essential technique for accelerating complex parallelizable programs, but unfortunately it has been slow to penetrate the Java space because production JVMs lack support for GPU code generation. This session discusses a joint effort of the Sumatra OpenJDK project and the Graal OpenJDK project to prototype this support on top of Oracle’s HotSpot VM. The presentation includes an overview of Graal and its status, discusses the technical approach of adding a new compiler back end for GPU architectures, and includes a demonstration of producing and running HSAIL code with Graal.

  • OpenJDK Porting Experiences: The Good, the Bad, and the Downright Ugly - Tuesday, Sep 24, 4:30 PM - 5:15 PM
    The work to port OpenJDK to Linux PowerPC and AIX PowerPC is coming to an end. It’s been an interesting road with many twists and turns, bumps and crashes—even the occasional straight run. The PPC/AIX porting project has been a trailblazer for future porting projects. This session discusses the technical aspects of porting OpenJDK to a new architecture as well as the community and process challenges that have been addressed in making the project a success. It covers the salient points of how to start an OpenJDK porting project, provides an overview of the design of Oracle’s HotSpot from a porting point of view, and explores the wider OpenJDK processes that need to be understood in a porting project.

  • Where Next with OpenJDK Community Build and Test? - Wednesday, Sep 25, 8:30 AM - 9:30 AM
    In this panel session, learn about the work done so far to provide an open, community-accessible build and test system for developers who want to contribute to OpenJDK. It’s a hard problem, but progress is being made. Come hear the participants from various organizations talk about what is happening and what else is needed. A lively debate with many opinions: guaranteed!

  • Lambda Programming Laboratory - Wednesday, Sep 25, 12:30 PM - 2:30 PM
    Interested in trying out the new lambda feature in Java 8? If so, this “higher-order lab” is for you. Participants will use a recent JDK 8 development build and a recent NetBeans build that support the lambda feature and will take part in exercises intended to teach them about the new lambda feature of the Java programming language and the new Streams Library API. The exercises start off very simply, so that beginners can learn the fundamentals. Additional exercises covering grouping and parallel reduction aim to challenge more-advanced participants. Participants need not have any prior knowledge of Java’s lambda feature, although having attended a prior JavaOne lambda session or tutorial will be helpful.

  • Retro Gaming with Lambdas - Wednesday, Sep 25, 4:30 PM - 5:30 PM
    Lambda expressions, coming in Java 8, will dramatically change the programming model. They enable new functional programming patterns that were not possible before, increasing the expressiveness and power of the Java language. In this presentation, you will learn how to take advantage of the new lambda-enabled Java 8 APIs by building out a retro video game in JavaFX. Among the Java 8 features you will learn about are enhanced collections, functional interfaces, simplified event handlers, and the new stream API. Start using these in your application today, leveraging the latest OpenJDK builds so you can prepare for the future Java 8 release.

That's a total of 14 sessions this year. With sessions presented by speakers from AMD, IBM, JClarity, Oracle, SAP and other organizations JavaOne remains the best place this year to learn about the progress made in the OpenJDK community.