Blog
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
Java nasceu em 1995 (James Gosling, Sun Microsystems) com filosofia "write once, run anywhere". Versões LTS marcantes: Java 8 (lambdas, streams — divisor de águas), 11 (primeiro LTS pós-Oracle), 17 (records, sealed, pattern matching preview), 21 (virtual threads, structured concurrency — revolução concorrente). Pipeline: javac → bytecode → JVM (HotSpot JIT C1/C2, ZGC) → asm em runtime. Diferencial: JVM como plataforma madura (30 anos de otimizações), observabilidade profunda (JFR, async-profiler), ecossistema Spring/Jakarta/Quarkus, GraalVM para AOT. Mercado 2026: enterprise backend (70% dos bancos), Android runtime (ART), big data (Hadoop/Spark/Kafka/Flink). Java 17 e 21 LTS são os padrões; muita base em Java 8/11 ainda.
Records (immutable DTOs), sealed classes (exhaustive sum types), pattern matching (switch expressions, instanceof), text blocks, var local inference. Java moderno parece diferente do Java 8.
Virtual threads: light-weight threads (~1KB cada vs ~1MB platform). Million-scale concurrency sem reactive overhead. Thread.startVirtualThread(), Executors.newVirtualThreadPerTaskExecutor(). Matou 80% casos reativos.
Spring Boot 3+ (Spring 6, Jakarta EE): native image com GraalVM, auto-configuration, starters, profiles, actuator (health + metrics). Controller vs @RestController vs functional routes.
N+1 query problem (uso @EntityGraph), lazy vs eager fetch, batch size, 2nd level cache, Hibernate Envers (audit). Alternativa moderna: jOOQ (type-safe SQL builder). Spring Data abstraction.
Reactive (Spring WebFlux, Reactor, RxJava): non-blocking callback style, high throughput. Virtual threads: synchronous code, millions of threads. Post-Loom, reactive vale pra backpressure + streaming.
Micronaut (ahead-of-time compile, ótimo pra serverless/cloud native), Quarkus (Red Hat, Kubernetes-native, GraalVM-first). Startup time << Spring Boot. Quando cada um supera Spring Boot.
GC options: G1 (default, balanced), ZGC (low-latency < 10ms), Shenandoah (Red Hat, low-latency). JFR (Flight Recorder) + JMC (Mission Control) pra profiling. JIT optimization (C1, C2 compilers).
Build: REST API Spring Boot 3 + records + virtual threads + JPA + Testcontainers + OpenAPI + Actuator + Prometheus + GraalVM native image opcional. Deploy em Kubernetes. Load test com k6.