İleri Java Konuları
Bu bölüm, Java ile enterprise düzeyde çalışan geliştiricilerin ve mimarların bilmesi gereken ileri seviye konuları kapsar.
1. Concurrency ve Paralel Programlama
- Thread, Runnable, Callable, Future, ExecutorService
- Synchronization, Lock, Semaphore, CountDownLatch, CyclicBarrier
- Fork/Join framework, parallel streams, virtual threads
2. JVM Tuning ve Profiling
- JVM memory model, heap/stack ayrımı, garbage collector tipleri
- JVM parametreleri ve tuning (Xms, Xmx, GC tuning)
- Profiling araçları: VisualVM, JMC, Flight Recorder
3. Annotation Processing ve Reflection
- Custom annotation yazımı ve kullanımı
- Annotation processor ile compile-time kod üretimi
- Reflection API ile dinamik tip ve method erişimi
4. Java Module System (JPMS)
- Modularization, module-info.java, encapsulation
- Service loader, module path vs classpath
- Büyük projelerde modüler mimari
5. Reactive Programming
- Reactive Streams, Publisher, Subscriber, Flow API
- Project Reactor, RxJava, Akka Streams
- Backpressure, non-blocking IO, event loop
6. Serialization ve Deserialization
- Java serialization, Externalizable, Serializable interface
- JSON/XML serialization (Jackson, Gson, JAXB)
- Güvenlik riskleri ve best practices
7. Dynamic Proxy ve Bytecode Manipülasyonu
- Proxy.newProxyInstance, InvocationHandler
- Byte Buddy, ASM, Javassist ile runtime kod üretimi
8. Native Integration ve JNI
- Java’dan native kütüphane çağrısı (JNI, JNA, Panama/FFM API)
- Native memory management, performans ve güvenlik
Her başlık altında örnekler, kod parçaları ve ileri seviye detaylar için ilgili alt bölümlere göz atabilirsiniz.