var name = "Deepu"; System.out.println(STR. "Hello, \{ name }!" ); var point = new Point(10, 10); switch (point) { case Point(var x, var _) when x > 5 -> System.out.println("It’s a big X point"); case Point(var _, var y) when y > 5 -> System.out.println("It’s a big Y point"); default -> System.out.println("It’s just a point"); } Thread.startVirtualThread(() -> { System.out.println("Hello, Project Loom!"); }); } record Point(int x, int y) {}
and frameworks ◦ Spring, JHipster, Micronaut, Quarkus, Jakarta EE, etc • Reliable and high performing ◦ With an optimized impl, can often outperform Rust/C++ • Fast ramp up and go to market • High concurrency Enterprise Applications • Secure • Reliable and high performing • Backward compatibility • Mature ecosystem When to Use Java Big Data Applications • Great ecosystem ◦ Apache Hadoop, Apache Spark • Scalable for large volume of data • High concurrency • Reliable Android Applications • One of the primary language • Great ecosystem
lot of good libraries • Limited support for interactions • No Curses/Terminal UI • Use Rust, Go, Python or NodeJS Real-Time Systems • Aerospace, Robotics, High frequency trading • GC pauses cannot guarantee real-time responses • Use Ada, Rust, C/C++ When Not to Use Java Systems programming • Drivers, OS, CLIs • Not suitable for low-level programming • GC overhead • Weak Foreign Function Interface • Use Rust, C/C++ High Performance Systems • GC overhead • High memory usage • No Zero Cost Abstractions • Use Rust, C/C++
of Okta – For Recipient’s Internal Use Only. @oktaDev | @deepu105 | deepu.tech Beginner Java as First-Language Knows another Language • Learn with the latest version • Learn types, operators, functions, control flow, generics, pattern matching • Learn Java specifics (Classes, inheritance, polymorphism, abstraction, lambda, virtual threads) • Learn basics of OOP and Functional programming • Learn data structures • Learn the Java standard library • Do not learn with frameworks, learn with pure Java • Learn with the latest version • Learn Java specifics (Classes, inheritance, polymorphism, abstraction, lambda, virtual threads) • Learn basics of OOP and Functional programming if needed • Learn the Java standard library • Learn Maven or Gradle • Learn Spring Framework