Java is one of the most popular programming languages. Mainstream enterprise adoption carried a set of negative connotations with it: bureaucratic, verbose, old-fashioned etc.
But skilled technological leaders know that Java is a very robust technology and that with proper usage and modern JVMs it can approach the speed of C++ without the hassle of manual memory allocation. It is no wonder then, that beyond all the stereotypical enterprise clichés and use cases, Java is actually the technology of choice for many performance-critical backend services and distributed systems.
But there aren’t many skilled engineers who really know their way deep in Java. In this course, we will learn what it takes to be able to deliver mission-critical services written in Java.
We will cover
- Efficient data structures
- Caching, off-heap memory
- Concurrency: Multi-threading, lock-free code
- Efficient networking, NIO
- GC Analysis: Proper JVM Tuning
- Profiling: identifying and resolving performance bottlenecks
- Remote debugging