Reactive and Asynchronous Java Eğitimi

  • Eğitim Tipi: Classroom / Virtual Classroom / Online
  • Süre: 2 Gün

Reactive and Asynchronous applications are growing in popularity, but what is the best way to build them? This course teaches you how to apply the latest concurrency techniques to develop state of the art Java applications. With the rise of Microservices and Service Oriented Architectures, asynchronous concurrency is now critical to day-to-day Java development.

We start off by reviewing the differences between asynchronous and synchronous programming. You then build upon this theory by refactoring a project using different modern concurrency techniques including promises using Java 8’s CompletableFuture, actors using Akka and reactive streams using RxJava. You’ll learn the good, the bad and the ugly between these approaches in terms of compositionality, testability and simplicity.


About the Trainers

Raoul-Gabriel Urma

Raoul-Gabriel Urma obtained a PhD in Computer Science from the University of Cambridge. He is co-author of the international bestselling book Java 8 in Action which sold over 20,000 copies in the world. Raoul is a regular conference speakers and delivered over 50 technical talks at international conferences. He has worked for large companies such as Google, eBay, Oracle, and Goldman Sachs, as well as for several startup projects.


Richard Warburton

Richard Warburton is an empirical technologist and solver of deep-dive technical problems. Recently he has written a book on Java 8 Lambdas for O’Reilly. He’s worked as a developer in many areas including Statistical Analytics, Static Analysis, Compilers and Networking. He is a leader in the London Java Community and runs OpenJDK Hackdays. Richard is also a known conference speaker, having talked at JavaOne, Devoxx, JFokus, DevoxxUK, Geecon, JAX London and Codemotion. He has obtained a PhD in Computer Science from the University of Warwick.


Bu eğitimi kendi kurumunuzda planlayabilirsiniz.

Önkoşullar

Code examples and exercises will be written in Java 8 so a basic knowledge of Java 8 is required

Neler Öğreneceksiniz

  • Understand various models of concurrency and asynchronous programming
  • Explore and develop applications using the Actor model and Akka
  • Learn how develop and test Promises and CompletableFutures
  • Develop reactive applications using RxJava

Outline

Asynchronous vs Synchronous Programming

  • Servlets
  • Asynchronous Servlets (3.0) and Spring
  • Why use asynchronous communications?
  • Solving the C10K Problem and the Microservices Performance problem
  • The full stack - from application right down to the OS
  • Timeouts
  • The Reactive Manifesto
  • Models of Concurrency: Event Based, Promises, The Actor Model, Reactive Streams

Promises using CompletableFutures

  • Executor and Future
  • CompletableFuture
  • Composition patterns
  • Asynchronous Timeouts
  • Exception handling
  • Testing

The Actor Model with Akka

  • Why and when would you use Actors?
  • What are Actors?
  • Using Akka
  • Testing actors

Reactive Streams with RxJava

  • Introducing Reactive Streams
  • Using RxJava
  • Pull vs. Push models
  • Threading and Back Pressure
  • Connecting Reactive streams to databases and web sockets
  • Java 9 Flow API
  • Alternative Reactive Stream Implementations


Eğitimlerle ilgili bilgi almak ve diğer tüm sorularınız için bize ulaşın!

Eğitim Tarihleri

Sınıf eğitimlerimizi İstanbul, Ankara ve Londra ofislerimizde düzenlemekteyiz. Kurumunuza özel eğitimleri ise, dilediğiniz tarih ve lokasyonda organize edebiliriz.

21 Temmuz 2025 (2 Gün)
İstanbul, Ankara, Londra
Classroom / Virtual Classroom
27 Temmuz 2025 (2 Gün)
İstanbul, Ankara, Londra
Classroom / Virtual Classroom
07 Eylül 2025 (2 Gün)
İstanbul, Ankara, Londra
Classroom / Virtual Classroom
19 Eylül 2025 (2 Gün)
İstanbul, Ankara, Londra
Classroom / Virtual Classroom
24 Eylül 2025 (2 Gün)
İstanbul, Ankara, Londra
Classroom / Virtual Classroom
03 Ekim 2025 (2 Gün)
İstanbul, Ankara, Londra
Classroom / Virtual Classroom
08 Ekim 2025 (2 Gün)
İstanbul, Ankara, Londra
Classroom / Virtual Classroom
21 Ekim 2025 (2 Gün)
İstanbul, Ankara, Londra
Classroom / Virtual Classroom
Reactive and Asynchronous Java Eğitimi ile ilgili sıkça sorulan sorular

Java nedir?

Java, 1995 yılında Sun Microsystems tarafından geliştirilen, nesne yönelimli ve platformdan bağımsız bir programlama dilidir. "Bir kez yaz, her yerde çalıştır" (Write Once, Run Anywhere) felsefesiyle tanınır.


Java ne için kullanılır?

Java;

  • Web uygulamaları
  • Android mobil uygulamaları
  • Kurumsal yazılımlar
  • Oyunlar
  • Masaüstü uygulamaları
  • gibi birçok alanda yaygın şekilde kullanılır. Özellikle büyük şirketlerin sistemleri Java ile yazılmıştır.

Java öğrenmek zor mu?

Java sözdizimi oldukça açık ve düzenlidir. Başlangıçta kavramlar (sınıflar, nesneler, miras vb.) zorlayıcı olabilir, ancak düzenli çalışmayla rahatça öğrenilebilir. Java, birçok eğitim kaynağına ve büyük topluluğa sahip olduğu için destek bulmak kolaydır.


Java ile ne kadar sürede iş bulabilirim?

Temel seviyede Java bilgisiyle iş bulmak zor olabilir. Ancak backend development (özellikle Spring Framework), Android geliştirme gibi alanlarda uzmanlaşırsanız 3–6 ay içinde staj veya giriş seviyesinde iş bulabilirsiniz.


Java’nın en popüler framework’leri nelerdir?

  1. Spring / Spring Boot – Kurumsal uygulamalar için
  2. Hibernate – ORM (veri tabanı işlemleri) için
  3. JavaFX / Swing – Masaüstü uygulamaları için
  4. JUnit – Test otomasyonu için

Java mı Python mu?

Bu tamamen hedefe bağlı:

  • Python: Daha sade, veri bilimi ve yapay zeka için uygun.
  • Java: Daha güçlü tip sistemi, büyük sistemlerde ve kurumsal uygulamalarda tercih edilir.
  • Eğer sağlam bir yazılım temeli istiyorsan, Java mükemmel bir tercihtir.

Java ile mobil uygulama geliştirilebilir mi?

Evet. Özellikle Android uygulamaları geliştirmek için Java uzun süre ana dil olarak kullanıldı. Şimdi Kotlin öne çıksa da Java hâlâ destekleniyor.


Java’nın günümüzdeki yeri nedir?

Java hâlâ Fortune 500 şirketlerinin çoğu tarafından aktif olarak kullanılıyor. Bankacılık, sigorta, telekomünikasyon gibi sektörlerde Java yazılımları kritik rol oynamaktadır. Ayrıca Java SE 21 gibi güncellenen sürümlerle modern kalmayı sürdürüyor.


Java’da hangi IDE’ler kullanılır?

En popüler Java geliştirme ortamları:

  • IntelliJ IDEA – En gelişmiş ve profesyonel ortam
  • Eclipse – Açık kaynak, güçlü ama biraz karmaşık
  • NetBeans – Başlangıç için uygun ve kullanımı kolay

Java geliştiricisi olmak için hangi konular öğrenilmeli?

Başlangıç için:

  • Değişkenler, kontrol yapıları, diziler
  • Nesne yönelimli programlama (OOP)
  • Koleksiyonlar, exception handling
  • Dosya işlemleri ve JDBC
  • Sonrasında:
  • Spring Framework, REST API, Unit Test
  • Maven/Gradle, Git, GitHub
  1. Temel veri yapıları ve algoritmalar
Sitemizi kullanarak çerezlere (cookie) izin vermektesiniz. Detaylı bilgi için Çerez Politika'mızı inceleyebilirsiniz.