The latest expert opinions, articles, and guides for the Java professional.

A Short History of Nearly Everything Java

Java User Groups (JUGs)

Java User Groups (JUGs) historically are locally-based groups of volunteers, ranging from very large (3000-5000 members) to a lot smaller (50 members) to completely virtual.

The concept emerged to better connect Java professionals and fans around the world and share knowledge, advice and the latest news & trends in the development world. Solving problems is always much easier when you have same-minded people with similar backgrounds all working on them together.

JUGs also contribute to the JCP, more formally through the Adopt a JSR program as we discussed. Here are the JUGs who have or are participating:

  • South America: Campinas JUG (Brazil), ceJUG (Brazil), GOJava (Brazil), SouJava (Brazil), Brasilia, DF JUG (Brazil), GUJ Londrina (Brazil) Peru JUG, Guadalajara JUG.
  • North America: Silicon Valley JUG, Houston JUG (USA), Toronto JUG (Canada).
  • Europe: London Java Community (UK), BeJUG (Belgium), Madrid JUG (Spain), JUG Cologne (Germany), Istanbul JUG (Turkey).
  • Asia: Indonesia JUG, JUG JogLoSemar (Indonesia), Hyderabad JUG (India), JUG Chennai (India).
  • Middle East and Africa: EGJUG (Egypt), Morocco JUG, Faso JUG (Africa), Jozi JUG (South Africa), Mbale (Uganda).

Almost any JUG leader would tell you that the main reason for their JUG to exist is to have fun and network over some pizza while sharing the expertise on Java technology. A common JUG meeting format is a semi-formal seminar just after the work day ends for most, and includes one or more technical presentations.

The JUG Community is great at helping local JUGs with promotion, event organisation and moral support. Wherever you are based, chances are there are a JUG nearby that you can attend. Don’t believe us? Check out the map for yourself:

java user groups map (JUGs) short history of nearly everything java

Even if you cannot find a pin right where you live and are not in the mood to travel a bit, don’t worry, the Virtual JUG has your back.

I created the vJUG to make both awesome speakers and Java content accessible to all developers around the world – that’s my goal and my passion.

Virtual JUG (vJUG) is an internet community that provides an analog of real-world JUG activities but without the annoying requirement of being phsyically present in the right place at the right time. Naturally, the unique approach of having JUG meetings over the internet allows world class speakers from all over the world to present, though it does take a bit of fun and interaction away from the networking component of such meetups. But as the saying goes, “you can’t kill two birds with one stone”. Or something like that.

Regardless, Virtual JUG sessions are always recorded and available for you to revisit later, so you don’t even have to be on time every single time. You might miss a vivid discussion on the #virtualjug channel on, but you can learn new things at your own pace.

Sponsored by RebelLabs (disclaimer!) and organised by Simon Maple, a Java Champion and extremely resourceful developer advocate, vJUG has shown impressive growth since late 2013 and is one of the world’s fastest growing JUGs right now. No wonder given that every responsible Java developer benefits from attending their sessions (and can do so from their couch).

The Adopt a JSR program is the brainchild of the JUG community and helps soften the journey of a JSR from idea to adulthood. This program encourages individuals in a community to advocate the JSR and to helps benefit grass root participation in the early stages of a forming specification.

The advantage of this is to remove future scenarios with developers are cursing an API for being stupid, for not having the correct methods or method signatures. With the Adopt a JSR program, hackathon sessions are encouraged to kick the tires of an API and a specification and judge its suitability to the real world by real developers, rather than for example, a VP of a large bank or technology corporation who may be quite distant from coders working day by day with Java.

This program is more or less outreach by the JCP to the real grass roots of Java, so we can have both the strategy and architectural knowledge from someone who can stand up and see beyond a stacktrace, with the everyday practical skills which can make those changes feasible and constructive at the same time.

So is there any valid example of how community interactions with the JCP have actually made a difference to Java and an average developer? We were a bit overawed to find out that a lot of the most- awaited Java 8 features were at least partially delivered directly by JUG members!

The [JUG] community played a huge role in bringing Java SE 8 to fruition. Many of the Java User Groups, such as the London Java Community, SouJava in Brazil, the Guadalajara JUG in Mexico, and Jozi JUG in South Africa, organized talks, hack days and produced tutorials for the significant new JSRs – JSR 310, Date & Time API, as well as JSR 335, Lambda Expressions for the Java Programming Language, to help with giving feedback and bringing developers to the new features early in the adoption cycle.

Is there a doctor, or Java Champion, in the house?

Community strength and usefulness is determined by its individual members, but every group of people needs leaders and benefits most when passionate members are recognised publicly.

The Java Champions project by Oracle unites great people from Java ecosystem and recognises that public opinion is essential in determining the direction the Java Platform should grow to. Java Champions are among the first to provide feedback, generate ideas and evaluate possible solutions regarding anything in Java land.

To becoming a Java Champion, you should be nominated by the community and get approved by the existing members. This process ensures that the expertise and knowledge of the Java history, design decisions and solution trade-offs does not get shallow with time.

Usually, people that become Java Champions have technical background and were involved in a few major contributions to the platform, Java language or community, but it is not a hard requirement. The main task of the champions is to advocate Java and influence developers to receive a deeper knowledge of it so that different kinds of people can potentially become Java Champions, such as:

  • Java luminaries, senior developers, architects, and consultants
  • Academics
  • Authors of Java-related content (online & print) and industry conference speakers
  • Java User Group (JUG) leaders and the managers of Java-related portals

If you want to chat with a real Java Champion, but don’t know how to get ahold of one, we have a close connection to @sjmaple and @gbevin, so they can answer some questions.

java-ringJavaOne is an annual conference for Java developers, started by Sun Microsystems in 1996 to discuss all Java-related technologies: Java SE, Enterprise Edition, ME, platform and tooling support, new JVM languages and basically anything Java.

After the Sun acquisition by Oracle Corporation the conference was merged Oracle Open World, which focuses on Oracle technology, but still has separate attendees, sessions and atmosphere. However, despite the merging that took some attention away from JavaOne, it is still the largest and the most globally representative Java conference in the world. Although there are plenty of other shows to see if San Francisco is too far away–Europe has a plethora of conferences, like Devoxx, JavaZone, GeeCon, JFokus and GeekOut.

As we can see from the JavaOne 2014 schedule, the show runs for 4-5 days, includes several independent tracks and offers several hundreds of sessions. Typical tracks include:

  • Clients and UI
  • Core Java Platform
  • Internet of Things
  • JVM Languages
  • Java and Security
  • Tools and Techniques
  • Server-Side Java
  • Java in the Cloud
  • Agile Development

In any case, at JavaOne everyone should find lots of interesting content, new friends and technical discussions for their taste. You’ll find the nightlife as packed with interesting conversations as the conference sessions, and leave SF feeling mentally and physically spent!

We’ve covered a lot of stuff at this point, so let’s review everything in the final chapter where we summarize everything.


Responses (5)

  1. Avatar  

    Dmitry Leskov

    September 24, 2014 @ 8:47 am

    There is at least one more certified JVM that you did not mention: Excelsior JET ( Developed in Novosibirsk, Russia, it has been on the market since 2000, and was certified Java Compatible in 2005. The main distinctive feature of Excelsior JET is its Ahead-Of-Time (AOT) compiler, which takes your jar files as input and produces an optimized native executable for Windows, OS X, or Linux. AOT compilation benefits are dual: it hinders reverse engineering of your app, and at the same time improves the end-user experience through faster startup, smaller footprint and JRE-independency.

    Disclaimer: Yes, I work for Excelsior.

  2. Avatar  

    Chris Snyder

    September 24, 2014 @ 3:56 pm

    I used JET for a consumer software product at my old company. It allowed us to distribute our software without worrying about whether the customer had a JRE installed. It worked great, and Excelsior support was excellent (even though we were a tiny company not paying for a big support contract).

    I don’t have a use for JET now (everything is web-based for me at the moment), but I’m glad to hear that you’re still going strong. Keep up the good work!

  3. Avatar  

    Oleg Šelajev

    September 24, 2014 @ 4:59 pm

    Great point, Dmitry. For brevity, we didn’t describe all the existing JVM implementations, not even all the certified ones. Just the most major ones.

    So, big thanks for contributing the info!

  4. Avatar  

    Debbie Fuller

    September 25, 2014 @ 7:52 am

    Nice blog Oleg, but there is another certified JVM that was missed off from Waratek ( With a team of experienced dedicated JVM developers it is Oracle certified Java compatible and was initially developed to provide multitenancy with elastic memory and application isolation. (

    The containment and isolation that the in built hypervisor provided has since been expanded to provide ‘Runtime Application Self Protection’ for Java apps. This is the first time that RASP has been provided within the JVM. Because the JIT compiler can intelligently interpret messages, it avoids ‘false positives’ and ‘gracefully blocks’ attacks. This protects applications from SQLi, Zero Day attacks as well as providing virtual patching for Legacy Java. (

    We’re going to be at JavaOne and hope to meet up with you there!

    Disclaimer: Yes, I do work for Waratek!

  5. Avatar  

    Dmitry Leskov

    September 25, 2014 @ 1:18 pm

    Thank you for your kind words, Chris.

RSS feed for comments on this post.

Leave a comment