The first in a series of interactive sessions discussing the state of garbage collection in 2018 takes place on May 1st. Experts including Martijn Verburg, Richard Warburton and John Oliver will be taking part, sharing their knowledge on all things garbage collection related. We spoke to Martijn and Richard to get their take on the event.

1. Who do you think should come along?

MW: Any Java developers (or developers who write code on the JVM) who care about how their code performs on the JVM, especially in small (e.g. uService apps) or large (e.g. Big Data style apps)
RW: Java developers who have a solid grasp of the basic language and tool chain and want to understand more about how the JVM works under the hood and how to make better use of the garbage collection subsystem.

2. What is your background in GC?

MW: I’m the CEO of jClarity, a tooling company that specialises in GC analysis. I have a decent understanding of GC algorithms and performance tuning, but certainly not at the level of the world’s experts (some of who are in jClarity’s engineering team)!
RW: I’ve worked previously (and currently) for JVM tool vendors who wrote tooling around GC logs and understanding GC. I’ve also done bespoke development and consulting work on problems that have low latency requirements and thus have an interaction with GC tooling.

3. Why do you think it’s such an important topic to get right?

MW: When Java Garbage collects it often has a Stop the World (STW) phase, which brings the whole JVM to a stop, this can greatly impact end user / system experience depending on how often those pauses occur and how long each pause occurs for.
RW: Performance is a big driver of business value. To put it simply happy customers are a great thing to have and customers aren’t happy when their website is unresponsive. It can also be a strong driver of business value in spaces such as AdTech or HFT where low latency really matters.

4. What do you think are the three most interesting questions that this event will answer?

MW:
1) What has changed in Java 9+ with regards to GC behaviour?
2) What’s the future direction of GC in Java?
3) How do I tune GC for my small container based uService apps?
RW:
1) How do I know when I have a GC problem?
2) What is changing around GC in future Java versions?
3) How do I understand when to look at GC rather than other application problems.

5. Any advice for junior programmers entering the industry?

MW: Whatever they tell you, it’s a people problem! So even with a technical event like a GC Panel, there’s always a strong human element. How does GC impact people, what performance characteristics do people care about? How do we help people tune etc?
RW: Have fun.

The Garbage Collection 2018 event promises to be an interesting and informative evening, so come along and see what you can learn. It’s a great opportunity to join in with an analysis of changes in Java 9, tuning your application, extracting information out of the JVM, tooling to aid interpretation, and looking at and beyond OpenJDK/Oracle JDK.
You’ll also be able to find out about the best sources of garbage collection information and where to find them.

If you are involved with garbage collection in any capacity within your organization, or you just have an interest in the topic, this is a chance to increase your understanding and advance your knowledge.

If you’re interested, then sign up to reserve your place: https://www.eventbrite.com/e/jvm-garbage-collection-in-2018-tickets-45209863920?aff=blog, and join the Slack Group at https://londonjavacommunity.slack.com.

Advertisements

On Wednesday 2nd May, we’re running an event all about Microservices and Serverless. Specifically, we’ll be thinking about: how we got here, things to think about and let’s see you do it.

We’ll be joined at the event by Tim Graves, a Cloud Native Solutions Specialist at Oracle. This job title sounds grand, but as you may have guessed, it means he helps people to solve their problems using cloud-based solutions. Prior to his current job, Tim has held many other roles, including but not limited to… Pre-Sales, Product Management, Requirements Engineering and Architect; he also has experience in a variety of product areas…Security, Storage and IOT. When he’s not hard at work Tim is a keen skier and unprofessional chef.

Tim Graves headshot

In preparation for the event we had a chat with Tim and got his view on the session, the latest technologies and advice for up and coming programmers.

1. Why do you think this presentation is important for people?

Serverless is the latest architecture on the “Hype Curve” (You should have seen how often it was mentioned at the O’Reilly software architecture conference last winter.) In this talk we’re going to look a little about the history of how we got to serverless, and also things you should consider when the dream of the hype runs headlong into the concrete wall of reality.

2. Who do you think should come along?

The event is suitable for programmers and non-programmers who are interested in Microservices and Serverless and in particular, open source serverless frameworks.

3. What Java/JVM technologies are interesting you most at the moment?

I’m currently spending *way* more time using Streams and Lambdas than I ever expected I would; if you’re not familiar with them go find out more.

4. Any advice for junior programmers entering the industry?

Learn about how to do Architecture, not just Programming, in the short term it’ll help you understand how your work fits into the overall picture, and in the longer term it opens up many more opportunities

The Microservices and Serverless event is happening on 2nd May, 18:00 – 20:00 at WeWork Waterhouse Square, EC1N 2SW. If you’d like to join us, please register here:

https://www.eventbrite.com/e/microservices-and-serverless-how-we-got-here-things-to-think-about-and-lets-see-you-do-it-tickets-45094498860?aff=blog

UP NEXT_idea

The LJC has a history of encouraging, mentoring and developing new speakers. Many speakers on the international conference circuit gave their first presentations at LJC events, or the annual LJC unconference. Last year the LJC teamed up with Devoxx UK and RecWorks/Meet a Mentor to take these values and create an ongoing initiative around them. This initiative is known as “Up Next”.

To date we’ve run three “Up Next” events. We kicked things off in December, with a session designed to encourage and mentor new speakers; this was followed by an event with two new speakers; and finally an event in association with IBM, where a number of junior speakers practised their skills and received a recording of their presentations.

I am *extremely* proud to say that initiative has already lead to two new speakers being accepted to speak at this year’s Devoxx UK conference. This is huge – I’m so pleased.

One of the main aims of Up Next is to achieve greater diversity of speakers within the LJC, and at London conferences. No doubt you’ve seen the stories about conferences, panels and events that lack a diverse range of speakers. In many situations organisers have gone to great lengths to achieve diversity but haven’t been successful. As well as the fact that we all know diversity is great for many reasons, lack of diversity can also lead to sponsorship being pulled, and conferences being cancelled.  Clearly the industry has a problem and the easiest solution that we can see, is to flood the market with a diverse new generation of speakers.

So, the Up Next initiative is a proven solution (on a small scale). To keep the momentum, we now need more speaker-mentors to see if we can prove it at scale. If you’re an experienced speaker (meetups or conferences) then please get in touch. There are a number of ways you can help out that won’t require much of your time. If you are in any way interested in helping develop the next generation of speakers, then please please let me know.

On Tuesday 24th April our colleagues at Docklands.LJC welcome Steve Wallin, Programme Director of IBM Runtime Technologies, who will be discussing Eclipse OpenJ9 – driving JVM innovation for Cloud Native Applications.

Steve Wallin profile

In anticipation of the event, we caught up with Steve for a quick-fire interview to get his thoughts on the session, the latest Java technologies and his advice for new programmers.

Why do you think this presentation is important for people?
JVM innovation is a hot topic right now! With Hotspot and Graal from Oracle, Falcon from Azul and now IBM open sourcing J9 at Eclipse there is real choice in finding the right JVM for your application requirements.

How do you ensure you are getting the most out of your hardware infrastructure and that your application is performing at its best?
There are a breadth of performance characteristics like application memory footprint, GC pause time, predictability/repeatability, ramp-up, peak throughput that all need to be carefully balanced by the JVM to provide the most efficient use of system resources. The whole model for the dynamics around these characteristics needs to change to include workloads designed for cloud and container deployment.

This talk will cover some of the new challenges which cloud and container scenarios create, what Eclipse OpenJ9 can already do to help and in which areas we are focused driving innovation going forward.

Would it be cool to reduce your memory footprint by 60% and improve startup by 40% simply by changing a couple of lines in your Dockerfile ?
Come and see the demo !

I’ll also make it interactive and you will get a chance to ask me anything you like.

What Java/JVM technologies are interesting you most at the moment?
It is great that there’s a renewed focus on language syntax , native interop and the removal of templating and generally minimizing the volume of code required for a developer to write to get the job done. Amber, Panama and Valhalla are all key projects at OpenJDK that will drive important features into the language over the next few years and will make the code easier to write, better to debug and enable cross language integration that JNI has not really been able to provide effectively.

In this session I will be focusing more on my interests in containerised applications, and how, with Docker kubernetes deployments we need to drive down the memory footprint and improve start-up performance to have Java competitive for microservices and cloud functions when compared to other technology options.

There are also broader challenges in the Java ecosystem for developers related to the new release cadence and migration challenges beyond Java 8. This tension between agility, time to value and stability are provoking some interesting discussions. I’m really pleased to have a team working with the LJC and a broad range of community members at AdoptOpenJDK (AdoptOpenJDK.net) which is helping to mitigate some of these challenges.

Finally do you have any advice for junior programmers entering the industry?
As a software developer and leader of software engineering teams for over 20 years there have been a huge number of ‘next big things’in the technology landscape where I have worked. As a junior developer understand your depth and breadth of skills and focus on finding your passion. If you are having fun and enjoying what you do then you’ll likely do your best work.

I do believe that the best programmers have an ability to keep up with the trends, but more importantly they understand how to use the softer skills to work with others, collaborate, lead, empathise with users and understand the motivations of those around them.
If you are able to continue to improve your personal, communication and presentation skills at the same pace as the technical skills then this puts you in a much better position to build better outcomes for your clients.

If you’d like to join us at the event, please register at: https://www.meetup.com/Londonjavacommunity/events/249668942/

 

On Tuesday 24th April we’re running an event in association with Microsoft: Live Coding with Spring Music. At the event we’ll be joined by Brian Benz, a Senior Cloud Developer Advocate at Microsoft. In his role, Brian helps Java developers to get the most out of Azure. Before joining Microsoft, Brian was a Solution Architect, Consultant, Developer, Author and Presenter at IBM and Deloitte amongst others.

Headshot 2015

In anticipation of the event, we caught up with Brian for a quick-fire interview to get his thoughts on the session, the latest Java technologies and his advice for new programmers.

Why do you think this presentation is important for people?

I’ll show people how to deploy and run Java applications in the cloud, using command line and open source tools you can get for free.  Free is good, and the cloud is powerful.  That’s a good combination!

Who do you think should come along?

Anyone interested in the latest tips, tricks and tools for Java developers.  And people who like swag, food and drinks, Microsoft and the LJC are buying!

What Java/JVM technologies are interesting you most at the moment? 

Cloud Native Java apps using Spring are most interesting to me these days.  Also, the related technologies that are interesting now, accessible by Java apps, like ML, AI, IoT, to expand the possibilities in today’s Java apps.

Any advice for junior programmers entering the industry?

You have it so good!  Cheapish hardware, meetups, stack overflow, cheap servers and services in the cloud.  Get started and find your way, the world is your command line.

The Live Coding with Spring Music session is happening at 18:15 on 24th April at Runway East Moorgate, 10 Finsbury Square, EC2A 1AF. If you’d like to join us, please register here:

https://www.eventbrite.co.uk/e/live-coding-with-spring-music-top-5-ways-to-deploy-java-to-the-cloud-tickets-44909175553

You can also follow Brian on Twitter @bbenz.

Steve Poole

This is an interview with seasoned public speaker, IBM’s Steve Poole. Steve had a vision of creating a completely new kind of event as part of our Up Next initiative to mentor aspiring developers. The event titled “Find your Java voice” is happening in the evening of April 11th at IBM Southbank. You can RSVP here if you haven’t already: https://www.eventbrite.co.uk/e/find-your-java-voice-new-speaker-night-tickets-44485579566

We spoke to Steve and asked him questions about his vision for the event and why he feels getting involved in presenting is a great idea for developers.

Can you give us a tl;dr overview of the event and what is going to happen?

This event is designed to help give new speakers the chance to improve their presentation skills and gain a professional video of themselves speaking. We know how hard it can be for people to get a talk accepted at a conference. By having a video of themselves speaking it will help with conference selection committees who are looking for proof of presentation skills.

We’ll give every new speaker the chance to speak, be professionally filmed and receive feedback from our mentors. Since it doesn’t make sense to film the speaker before the advice we’ll give everyone the chance to speak first, get some feedback and then talk again later in the event where the will be filmed by IBM’s film crew.

Each new speaker has to come with a talk prepared. That’s not as scary as it sounds. We’re looking for a 5 minute talk (sometimes called a Lightning Talk) on any subject that has something to do with computers. No slides are needed (though not forbidden). Our main advice is to talk about what you know well. Whether it’s your experiences in installing Windows 10, what you think about <insert tech here>, how you wrote a really fast sort when you were 10 – The topic is not important. The important part is that it is a subject you know well.

The mentors will all be experienced speakers and will have many (and likely differing) opinions about speaking.

What are you hoping to achieve in this event?

That’s simple: help developers improve their career by gaining some vital speaking experience in a friendly but real life environment. I want our volunteer speakers to leave the event having had some fun, gained some useful advise and with a professionally produced video of them speaking.

Why do you think people should get involved as speakers?

Public speaking helps you with a few things. It certainly improves your confidence. Public speaking is often rated as a high stress activity but the reality is that it’s not actually that bad (trust me). People often think that they need to be the greatest ever expert on a topic before they could stand up and talk about it. That’s an incorrect view too. I would never claim to be ‘the’ expert. All my talks are through the lens of my experience. If I’m new to something I’ll share what I’ve learnt – as a newbie! So public speaking indirectly helps you throw off some of that ‘impostor syndrome’ that can hold you back.

Public speaking is generally good for your career. Personal visibility helps when looking for new opportunities and your talks will show others what you know.

Speaking also helps your communications skills across the board. The act of creating a presentation will teach you important aspects of presenting ideas and information to others. The confidence and personal insight you can get from speaking will helps you generally when dealing with other people in your life – whether difficult executives, or annoying cold callers, once you’ve spoken in front of an audience they will become easier to deal with.

Why do you think it’s important that junior speakers connect with mentors?

Having a mentor (at any stage of your life or career) helps you see things differently. It’s often easy to think you understand how the world works. With a single viewpoint you’re limited to using your single experience to predict and understand what you see. That can often lead to unfortunate under or over estimating the scale of new challenges. Having a mentor will help you get a different perspective and give you valuable insights. For this event I hope that the mentors present will help remove the mystique of public speaking and show that it’s not as scary as some believe.

Who would you recommend comes to the event?

We want three groups of people.

Firstly new (or nearly new) speakers. If you’ve willing to try standing in front of an audience for the first time or you’ve spoken at a conference once and want more help with your presentation skills this is the event for you.
Secondly we want seasoned mentors. You know who you are. Come along and pay forward the help that you got when learning how to be a public speaker.
Finally, and by no means last, we want an audience who will provide that realistic and positive experience for our new speakers.

Find your Java voice is happening in the evening of April 11th at IBM Southbank. You can RSVP here: https://www.eventbrite.co.uk/e/find-your-java-voice-new-speaker-night-tickets-44485579566 You can also follow Steve Poole on twitter: @spoole167

 

UP NEXT_idea

LJC JCP Committee Meeting 8th March 2018

Attendees

  • Martijn Verburg
  • Sean Landsman
  • Sabrina Wons
  • Ilan Pillemer
  • Somay Nakhal
  • Abraham Marin-Perez
  • Ingo Hoffmann

Java EE -> Jakarta EE

Java EE has been donated to the Eclipse Foundation and reside as Eclipse EE4J projects, with the brand name of Jakarta EE.

The Committee discussed the pertinent founding documents:

Of particular interest was the Working Group charter where the new Guest Membership level (aimed at Java User Groups etc.) would give entities like the LJC a view into the Jakarta EE specification and steering groups, but would not give entities like the LJC a vote.

Action Item – Create a Poll

The Committee decided to poll the LJC membership and other important JCP / JSR related communities including (but not limited to):

  • LJC Membership
  • Global Java User Groups
  • London JBoss User Group
  • Java Champions
  • Java EE Guardians
  • EE4J Community

The poll will ask whether they still want the LJC to have a voting presence in the new Jakarta EE.  If so then the LJC can explore options to participate at that level, perhaps coming in as a Solutions Member.

Questions in the Poll

The London Java Community (LJC) and SouJava currently represent the global Java User Group community with regards to Java EE standards, i.e. technical review, legal review and voting on whether standards should progress.

With Java EE moving to the Eclipse Foundation (as Jakarta EE), a new Working Group with specification / steering committees governing the future of this technology has been formed.  The LJC would like to understand if Java User Group members) around Java EE technology is still interested in us representing them at Eclipse. So here are some questions!

  1. Do you directly or indirectly develop with or use Java EE technology?
    (if you use Spring, then this is a Yes).
  2. Are you aware that Java EE has moved to the Eclipse Foundation as Jakarta EE?

Please read the following documents before answering the next questions:

  1. Would you like the LJC to have voting status at Eclipse for Jakarta EE?
    1. Yes
    2. No
    3. I don’t know – it’s too complicated to figure out
    4. I don’t know – I didn’t read the docs I was asked to 🙂

  2. Please leave any further comments

OpenJDK / Java SE

The Committee discussed the pertinent founding documents:

Action Item – Continue Discussing JEP12

A longer discussion on the drawbacks vs benefits of JEP12 is required, including:

  • Impact on independent implementers of Java (e.g Azul, IBM etc).
  • Impact on tooling vendors (e.g App Dynamics, Jetbrains etc).
  • Impact on libraries (e.g ByteBuddy, Spring etc).

Action Item – Test Drive Java 10

Martijn encouraged members to try Java 10 out early and give feedback.  We’ll also encourage the LJC at large to do this.

Action Item – 6 month release cycles and support

The committee discussed the concerns around the 6 month release cycle and the lack of Oracle’s LTS support for OpenJDK.

Other vendors and/or the community could of course support OpenJDK (and variants / versions of it), but that support is likely to be seen as fragmented by the ecosystem.

Adopt OpenJDK Build Farm

Martijn introduced the Adopt OpenJDK Build farm, the new place where the OpenJDK community (including several LJC members) are collaborating on a new build farm for Java to be shared and used by the community at large:

TLDR

We voted “Yes” for the re-submission of this specification within.  Jigsaw and Java 9 will represent a solid foundation for a new evolution of the Java platform, one that is nimbler, more lightweight and more secure.  Is this work complete?  No, there are still outstanding issues and feature requests to go, especially as the ecosystem learns to use the new modulepath and friends.  But the basis is sound and we think a large minority will take up the new module system once Java 9 goes GA.

The results of the vote on the reconsideration ballot (Public Review) for this JSR are here: https://jcp.org/en/jsr/results?id=6016

We voted no the first time around because we wanted to see final consensus on the last few outstanding issues as well as some bedding in time of recent, far-reaching consensus decisions.

Our official comment

The LJC votes yes and echos IBM’s thanks to Oracle (as the specification leader) and those in the JSR 376 Expert Group who dedicated their time to reworking and clarifying areas of the specification that we were concerned about.

The LJCs concerns (https://londonjavacommunity.wordpress.com/2017/05/09/explanation-of-our-no-vote-on-jsr-376-java-platform-module-system/) over interoperability with the Java ecosystems defacto build tool / module repository (Apache Maven) have been addressed as have the concerns over the ability for independent implementations of the compiler to be built (noticeably ejc).

The disposition of outstanding issues as agreed amongst the Expert Group was handled really well and it was heartening to see the evident collaboration as described in the detailed minutes of the EG’s meetings in the past month.

We see this release of JPMS as the strong foundation for a new Java SE platform architecture, and expect to build upon this with feedback and experience from Java User Group members.

Further Notes

The specific technical details of what was agreed and what was deferred are in the minutes:

Some highlights include:

  • Agreement on version name format(s).
  • Agreement on rules around Automatic Module Naming and a guide on how to best use those (important for the Maven ecosystem).
  • Dealing with multiple versions of the same module was deferred.
  • Agreement on relaxing Strong encapsulation as a default (means fewer apps will break out of the box, but get a warning instead).
  • Tidying up on some keyword usage (allowing the Eclipse compiler to be built).

We think the Spec lead and EG did a great job in coming together to resolve the outstanding concerns and hope that this can be a model for further collaboration over particularly far-reaching / complex part of the Java ecosystem development going forwards.

Cheers,
Martijn (on behalf of the LJC JCP Committee, on behalf of the LJC)

TLDR

We voted No because we want to see final consensus on the last few outstanding issues as well as some bedding in time of recent, far-reaching consensus decisions.  No we don’t think this should or will delay Java 9 significantly, we expect a re-submission and eventual “Yes” vote to this specification within 30 days, please see the JCP Process Document for how this works.  No, we don’t think JPMS/Jigsaw is fundamentally flawed.  Yes we want extra time and thought going into JPMS by the wider ecosystem (and its authors) as this new module system will impact Java far more than the move to generics in Java 5.

The results of the vote on the Public Review for this JSR are here: https://jcp.org/en/jsr/results?id=5959

Our official comment

We echo SAP’s comments in that we absolutely recognize the tremendous achievements and the great work that has been carried out until now by the EG members as well as (and especially) by the Spec Lead himself.

The LJC is voting “No” on the spec *as it was submitted* at the start of the voting period. During the 14 day voting period, great progress was made by the Spec Lead and the EG to reach consensus on some very difficult issues such as #AutomaticModuleNames. However, there are still on going conversations on some of those issues and there simply has not been enough time spent by the ecosystem to discuss some of the new designs in enough depth or enough time spent implementing and testing prototypes based on the latest spec, e.g. The Eclipse ejc compiler or the latest Automatic Module Naming design in Maven.

If required, we very much look forward to being able to vote ‘YES’ in <= 30 days on a version that has had that little bit of extra time for the EG (and the ecosystem) to discuss / implement / test some of these difficult spec items. Certainly the last 14 days have shown that consensus can be reached even when viewpoints have started in opposing corners, and we think another short time period to really bed in the last sticking points is needed.

Further Notes

We voted “No” based on careful technical analysis of JPMS, the RI (Jigsaw), comments on the mailing list as well as out in other public forums.  We then put the existing specification to the test on a Java 9 hackday along with the Virtual JUG and ~15 JUGs worldwide.  The conclusion was that JPMS still has some outstanding issues to be resolved or issues that (despite having recent resolutions), were still not bedded in the minds and/or prototypes of the larger ecosystem.

For our membership, interoperability with the Maven build ecosystem and the ability to build an alternative compiler implementation (i.e. Eclipse’s ejc compiler) is paramount.  Although consensus is rapidly forming around those two items, our membership felt that they needed some extra time before they felt comfortable with voting “Yes”.

This is what the JCP is for (no, not just politics)

Casual observers and some parts of the tech media will likely come to the conclusion that this is all just about big company politics. Recent public blog posts and open letters will have fuelled that sentiment, but we urge people to read the comments accompanying “No” votes.

Although Oracle are the stewards of Java, the JCP Executive Committee (EC) is meant to act as guide for the Java ecosystem as a whole and we feel strongly that it is working as intended in this case.

What next?

The Spec Lead (Mark Reinhold) has publicly stated that if it needs more time, then it will get more time, so we expect to see a revised spec within the 30 days and expect to vote “Yes” in good conscience and not delay Java 9 (the spec).
Martijn’s Personal View 
There was a lot deep dive technical analysis and tough discussion in the past two weeks with a lot of smart, passionate technologist’s who all love Java.  This cannot be a bad thing :-).  That said, I’m tired and will now have a sleep before Devoxx UK!
Cheers,
Martijn (on behalf of the LJC JCP Committee, on behalf of the LJC)

Attendeed: Martijn Verburg, Sean Landsman, Ingo Hoffmann, Omar Bashir

  • Welcomed Omar as a new member!
  • Discussed JSR 363 – Units and Measures. Omar pointed out that it looked good overall but he had some concerns about the verbosity / boilerplate nature of having to use Factories and Builders in order to get going. He noted that the Java 6 compatibility made sense (IoT, Android and other older platforms). Martijn commented that DI of some sort might help tackle the verbosity, but that the Spec Lead and EG had likely discounted that in order to allow it to be used across a wider set of projects.  Omar will send in final feedback by Sunday the 7th.
  • Discussed the vote for JSR 380 – Bean Validation 2.0.  Unanimous yrs, Ingo noted it was early stages and that we should have a more careful review when there was the beginnings of a RI.
  • Discussed the vote for JSR 367 – JSONB – Group looked at outstanding issues and send a message to the Spec Lead over a concern that JSONPointer support had not been addressed.  Will wait until Sunday evening (7th) before casting final vote.
  • Discussed nominations for JCP awards. Unit of Measure and Jigsaw seemed to be the outstanding JSRs, more research required on the Adopt a JSR award.
  • Martijn will give feedback at the next meeting about the Aug 7th EC phone conference, covering Java EE 8 as Oracle sees it.

Cheers,

Martijn (on behalf of the LJC JCP Committee)

What is the LJC

The London Java Community (LJC) is a group of Java Enthusiasts who are interested in benefiting from shared knowledge in the industry. Through our forum and regular meetings you can keep in touch with the latest industry developments, learn new Java (& other JVM) technologies, meet other developers, discuss technical/non technical issues and network further throughout the Java Community.

Twitterfeed

Advertisements