Tuesday Mar 29, 2016

Moving to Garbage First

Garbage First (G1) is likely to become the default collector in Java 9. In this presentation, Kirk Pepperdine shows different case studies on how to use the G1 with your applications. He also demonstrates tips and tricks to work around some of the hiccups. 

In this interview, Kirk Pepperdine shows his Censum performance diagnostics tool from jClarity and describes the state of G1 GC 

Waste Management in JDK 9

“Instead of a simple garbage collector to free up memory, Garbage First (G1) takes the role of a waste management consultant: freeing unused memory and identifying ways to reduce the overall amount of garbage.” explains Eric Costlow in a new blog

Costlow demonstrates how string Deduplication can significantly decrease heap usage. Using the Eclipse IDE, he runs a performance test using Java Flight Recorder to benchmark the results.

Monday Mar 28, 2016

Module System in JDK 9

From original blog post by Mark Reinhold 

The module system (JSR 376 and JEP 261), was integrated into JDK 9 last week and is now available for testing in early-access build 111.

Project Jigsaw is an enormous effort, encompassing six JEPs implemented by dozens of engineers over many years. So far we’ve defined a modular structure for the JDK (JEP 200), reorganized the source code according to that structure (JEP 201), and restructured the JDK and JRE run-time images to support modules (JEP 220).

Like the previous major change, the introduction of modular run-time images, the introduction of the module system might impact you even if you don’t make direct use of it. That’s because the module system is now fully operative at both compile time and run time, at least for the modules comprising the JDK itself. Most of the JDK’s internal APIs are, as a consequence, fully encapsulated and hence, by default, inaccessible to code outside of the JDK.

An existing application that uses only standard Java SE APIs and runs on JDK 8 should just work, as they say, on JDK 9. If, however, your application uses a JDK-internal API, or uses a library or framework that does so, then it’s likely to fail. In many cases you can work around this via the -XaddExports option of the javac and java commands. If, e.g., your application uses the internal sun.security.x509.X500Name class then you can enable access to it via the option


This causes all members of the sun.security.x509 package in the java.base module to be exported to the special unnamed module in which classes from the class path are defined.

Read more

Friday Sep 06, 2013

JavaOne 2013 with Markus Eisele: Sins and Security in Java EE

Markus Eisele shares his expertise on Java EE.[Read More]

Monday Apr 08, 2013

Technical Article: Java EE 7 and JAX-RS 2.0

A new article by Java Champion Adam Bien, titled “Java EE 7 and JAX-RS 2.0” is up on otn/java. The article demonstrates how Java EE 7 with JAX-RS 2.0 has several new useful features which further simplify development, and lead to the creation of more sophisticated Java SE/EE RESTful applications.

Using a Java-friendly, but simplistic JAX-RS 2.0 example Bien takes the reader through aspects, request interception, client and configuration issues and much more. He concludes the article as follows:

“Interestingly, JAX-RS does not even require a full-fledged application server. After fulfilling the specified Context Types, a JAX-RS 2.0–compliant API can be anything. However, the combination with EJB 3.2 brings asynchronous processing, pooling (and so throttling), and monitoring. Tight integration with Servlet 3+ comes with efficient asynchronous processing of @Suspended responses through AsyncContext support and CDI runtime brings eventing. Also Bean Validation is well integrated and can be used for validation of resource parameters. Using JAX-RS 2.0 together with other Java EE 7 APIs brings the most convenient (=no configuration) and most productive (=no re-invention) way of exposing objects to remote systems.”

Check out the article here.

Tuesday Jul 24, 2012

The JVM Language Summit - 2012

A new article, now up on otn/java, provides information about the upcoming 2012 JVM Language Summit, scheduled for July 30–August 1, 2012 on the Oracle campus in Santa Clara. The Summit brings together top language designers, compiler writers, tool builders, runtime engineers, and VM architects, from around the world for an open technical collaboration.

Summit organizer Brian Goetz of Oracle remarks: "We've been running the JVM Language Summit for the past five years. The attendees at the Summit are the people who are making languages on the JVM happen—there are typically architect-level representatives from many JVM language communities including JRuby, Jython, Scala, Groovy, and Clojure. This is a tremendous opportunity for the community to influence the future direction of the JVM and for us to learn more about how the JVM is being used, where it shines, and where it falls short."

The schedule is equally divided between traditional presentations, most of which are limited to 40 minutes, and informal workshops, which consist of small facilitated discussion groups among self-selected participants to enable deeper dives into the subject matter. There will also be impromptu lightning talks.

Learn more here.


Insider News from the Java Team at Oracle!



« May 2016