Conference:March 6-8, 2017
Workshops:March 9-10, 2017
Presentation: Real World Java 9
Location:
- Churchill, G flr.
Duration
Day of week:
- Wednesday
Level:
- Beginner
Persona:
- Developer, JVM
Key Takeaways
- Gain early insight on what porting a Java 8 project to Java 9.
- Learn the relationship between Java Stream and Reactive Streams.
- Understand how modularity in Java now underpins everything in JDK9.
Abstract
The feature we always hear about whenever Java 9 is in the news is Jigsaw (or modularity). But this doesn't scratch the same developer itch that Java 8's lambdas and streams did, and we're left with a vague sensation that the next version might not be that interesting.
Java 9 actually has a lot of great additions and changes to make development a bit nicer. These features can't be lumped under an umbrella term like Java 8's lambdas and streams, the changes are scattered throughout the APIs and language features that we regularly use.
In this presentation, Trisha shows via live coding:
- How we can use the new Flow API to utilise Reactive Programming
- How the improvements to the Streams API make it easier to control real-time streaming data
- How to the Collections convenience methods simplify code
Along the way, we'll bump into other Java 9 features, including some of the additions to interfaces and changes to deprecation. We’ll see that once you start using Java 9, you can't go back to before.
Interview
My job has two sides: to help developers "level up", and to help IntelliJ IDEA evolve with developers and technology trends. That means I'm constantly researching what "most" developers are really doing in their day job, and researching which things from the bleeding edge are likely to make it into the mainstream. My research has led me to believe that: Microservices are here to stay; Reactive Programming and Event Sourcing are patterns that can help us work at scale; Java (both the platform and the language) continues to evolve to meet the needs of developers and the businesses they code for.
We've heard so much about Jigsaw (modularity for Java), it is *the* feature for Java 9, and Java 9 has been delayed more than once to make sure Jigsaw gets out there. But the language developers are working really hard on other things as well: some invisible changes that will benefit all of us; some nice new features that will make our lives easier; and some changes that have incorporated styles from other languages. I want those who come to my talk to see that Java 9 has more benefits than they might realise. But I also want to be realistic about some of the challenges facing those adopting various Java 9 features, so I'm showing a case study of a project migration.
Great question! They look very similar, from a code-point of view, but they behave differently and are meant for different things. Come to my talk to hear more!
Experienced Java developer who codes regularly. Includes technical team leads and architects who want to understand the impact of this latest version.
Similar Talks
Tracks
-
Architecting for Failure
Building fault tolerate systems that are truly resilient
-
Architectures You've Always Wondered about
QCon classic track. You know the names. Hear their lessons and challenges.
-
Modern Distributed Architectures
Migrating, deploying, and realizing modern cloud architecture.
-
Fast & Furious: Ad Serving, Finance, & Performance
Learn some of the tips and technicals of high speed, low latency systems in Ad Serving and Finance
-
Java - Performance, Patterns and Predictions
Skills embracing the evolution of Java (multi-core, cloud, modularity) and reenforcing core platform fundamentals (performance, concurrency, ubiquity).
-
Performance Mythbusting
Performance myths that need busting and the tools & techniques to get there
-
Dark Code: The Legacy/Tech Debt Dilemma
How do you evolve your code and modernize your architecture when you're stuck with part legacy code and technical debt? Lessons from the trenches.
-
Modern Learning Systems
Real world use of the latest machine learning technologies in production environments
-
Practical Cryptography & Blockchains: Beyond the Hype
Looking past the hype of blockchain technologies, alternate title: Weaselfree Cryptography & Blockchain
-
Applied JavaScript - Atomic Applications and APIs
Angular, React, Electron, Node: The hottest trends and techniques in the JavaScript space
-
Containers - State Of The Art
What is the state of the art, what's next, & other interesting questions on containers.
-
Observability Done Right: Automating Insight & Software Telemetry
Tools, practices, and methods to know what your system is doing
-
Data Engineering : Where the Rubber meets the Road in Data Science
Science does not imply engineering. Engineering tools and techniques for Data Scientists
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
-
Workhorse Languages, Not Called Java
Workhorse languages not called Java.
-
Security: Lessons Learned From Being Pwned
How Attackers Think. Penetration testing techniques, exploits, toolsets, and skills of software hackers
-
Engineering Culture @{{cool_company}}
Culture, Organization Structure, Modern Agile War Stories
-
Softskills: Essential Skills for Developers
Skills for the developer in the workplace