Conference:March 6-8, 2017
Workshops:March 9-10, 2017
Track: Java - Performance, Patterns and Predictions
Location:
- Churchill, G flr.
Day of week:
- Wednesday
Java may be a mature language, but it continues to change and evolve. Not only do new versions bring new idioms and APIs, but fashions change and alternative patterns of working continue to be embraced. With the software landscape changing to embrace multi-core, smaller design, and cloud deployments, developers need to understand how these feature sets impact fundamentals like performance, concurrency, and Java's ubiquity. This track focuses on these trends and reminds us of our fundamental computer science principles and how they're applicable in this modern world.
by Holly Cummins
Senior Software Engineer @IBM, Committer on Apache Aries
Cool? Useful? Disruptor? All of the above? IoT is having an impact on more and more industries. As the cost of instrumenting things and collecting data drops, the possibilities for what we can control and the kind of insights we can gather increase. Not only is IoT hardware cheaper and more pervasive, developing IoT software is now far more accessible. That doesn't mean there aren't tricky bits. Does Java have relevance in the IoT world? How can you keep the system reliable and handle...
by Brian Goetz
Java Language Architect @Oracle
As core counts continue to increase, how we exploit hardware parallelism in practice shifts from concurrency — using more cores to handle more user requests — to parallelism — using more cores to solve data-intensive problems faster. This talk will explore the different goals, tools, and techniques involved between these various approaches, and how to analyze a computation for potential parallelism, with specific attention to the parallel stream library in Java.
by Trisha Gee
Java Champion, Engineer and Evangelist
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...
by Greg Young
Created the term CQRS
Have you ever wondered about event sourced systems and how they work? How to structure things around a transaction log yet still keep the system stable over time when change arises. In this talk we will look at Event Sourcing as a concept as well as specific JVM based implementations that are available. A main focus will also be on where such an implementation would be beneficial (or not!).
by Nitsan Wakart
Performance Consultant and OSS Contributor
FlameGraphs offer us a new way to visualize execution profiles, combined with Linux system profiler perf and the recently added -XX:+PreserveFramePointer option in JDK 8u60 we now have for the first time a way to capture a comprehensive profile for the OS, JVM and your Java code.
In this session, we explore the JVM and Java applications using this new perspective and reflect on the profiles and the utility of this new method:
- Introduction to FlameGraphs
- Old...
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