ABOUT THE COURSE
This 1 day course, derived from “The Well–Grounded Java Developer
” by Ben Evans & Martijn Verburg, covers a wide range of topics to bring your skill levels up and get you thinking about more advanced coding concepts.
Our 1–day and weekend courses are designed to work well as:
- A skills health–check
- A refresher for developers who are getting back into coding
- A prerequisite for more advanced topics such as concurrency and performance.
This course is also intended as a prerequisite course for the more advanced offerings in our catalogue. It ensures that attendees have the necessary groundwork before coming along to our more advanced courses. Delegates that are interested in our “Java Virtual Machine (JVM)” course will also find this a great course to start with, as it sets the scene and introduces themes that we’ll explore more deeply.
WHAT YOU WILL LEARN
Over the course of the day, we’ll discuss the more advanced aspects of objects and collections, approaches to representing executing code (such as threadpools), reflection, classloading and finally monitoring with tools such as VisualVM.
We’ll work primarily with Java 6, although we’ll do a couple of advanced topics which make use of new Java 7 features. There’ll be plenty of hands–on exercises (at least 25% of the day), which are all derived from real codebases.
1. Objects & Collections – Advanced
- equals(), hashcode() and related topics
- The “plurals” classes & handy static methods
- Hitchhikers guide to generics (type erasure, wildcards, practitioner ⁄ designer split)
2. Representing Execution
- Inner classes as “clumsy closures”
- Execution Services
- Class objects
- Issues with Reflection
- Method Handles in Java 7
- The hierarchy of classloaders
- Why you need custom classloading
- Why your App Server⁄Web Server is killing you
5. VisualVM and MXBeans
- Introducing VisualVM
- Basic Tasks
- Useful Plugins
- Command–line equivalents
- JMX and MXBeans
WHO SHOULD ATTEND
This course is particularly suitable for developers working in finance or other demanding industries (including contractors, and people who want to break into those industries). Our instructors and authors all come from a background in financial and related industries, and there are plenty of real–world examples and real pitfalls covered in all of our courses. Many of the topics and exercises are derived from real scenarios and job interviews.
A recent Windows, Linux or Mac laptop, with Oracle JDK or OpenJDK 7 or 8 installed
ABOUT THE INSTRUCTORS
Martijn has over 12 years experience as a technology professional and OSS mentor in a variety of environments from start–ups to large enterprises. Some career highlights include overhauling technology stacks and SDLC practices at major IBs, mentoring large vendors on technical community management, and running large distributed development teams at a variety of organisations.
He is the co–leader of the London Java Community (over 2800 developers) and leads the global effort for the Java User Group "Adopt a JSR" and "Adopt OpenJDK" programmes. Martijn's book "The Well–Grounded Java Developer" (with Ben Evans) was published by Manning in 2012.
As a leading expert on technical team optimisation, his talks and presentations are in high demand by major conferences (JavaOne, Devoxx, OSCON, FOSDEM, QCon, etc). Often you'll find him challenging the industry status quo in his alter ego "The Diabolical Developer".
Martijn holds a BSc in Computer Science and a BCA in Information Systems from Victoria University of Wellington
Ben has lived in "Interesting Times" in technology. Whether it's performance testing the auction servers for the Google IPO, building low–latency financial trading systems, writing award–winning websites for some of the biggest films of the 90s, simulating quantum phenomena now being observed at the Large Hadron Collider or helping to provide technology for some of the UK's most vulnerable people – Ben is always doing something interesting.
When he's not running jClarity
, Ben spends his time getting involved in community and charity projects. He helps to run the London Java Community and holds a seat on the Java Community Process Executive Committee – the body which governs Java standards.
Ben enjoys fundraising and helping charities, and loves to travel, meet new people, and exchange knowledge and ideas with them. Ben holds a Masters degree in Mathematics from the University of Cambridge and dropped out of a PhD when he realised he was having more fun writing music websites.