Hibernate Dirty Checking
Você já reparou que, às vezes, você altera um objeto Java recuperado do Hibernate, chama o commit() da transação e, magicamente, o banco de dados é atualizado sem você ter chamado repository.save()...
Você já reparou que, às vezes, você altera um objeto Java recuperado do Hibernate, chama o commit() da transação e, magicamente, o banco de dados é atualizado sem você ter chamado repository.save()...
Se o banco de dados é o gargalo da sua aplicação, você provavelmente já pensou em usar cache. O Hibernate oferece um mecanismo poderoso chamado Cache de Segundo Nível (L2 Cache). Mas cuidado: ele n...
O Hibernate é o rei do ORM no mundo Java, e o Lazy Loading (Carregamento Preguiçoso) é uma de suas funcionalidades mais amadas e odiadas. Se você já viu uma LazyInitializationException no seu log, ...
Se você usa Spring Boot, você usa @Autowired ou Injeção via Construtor todos os dias. Você define suas classes, coloca as anotações e, magicamente, as dependências aparecem prontas para uso. Mas vo...
A API de Reflexão (java.lang.reflect) é uma das partes mais mágicas e poderosas do Java. Ela permite que um programa inspecione e manipule a si mesmo em tempo de execução. Mas, como diz o ditado, c...
Sua aplicação caiu. No log, um erro que começa com java.lang.. Mas foi um StackOverflowError ou um OutOfMemoryError? Embora ambos sejam problemas de memória, eles indicam falhas em lugares e por mo...
Se você já se perguntou por que não pode simplesmente mudar um caractere de uma String existente em Java, você não está sozinho. A imutabilidade das Strings é uma das decisões de design mais fundam...
Você já ouviu que “Java é interpretado e lento”? Se sim, essa pessoa ficou presa nos anos 90. Graças ao JIT (Just-In-Time) Compiler, o Java moderno consegue performance comparável ao C++ em muitos ...
Muitos desenvolvedores veem o Garbage Collector (GC) como um zelador silencioso que limpa a memória para nós. Mas em sistemas de alta performance, esse “zelador” pode se tornar o seu maior inimigo ...
Se você já programou em Java, provavelmente ouviu que “objetos ficam no Heap e variáveis locais ficam na Stack”. Mas você sabe o porquê dessa divisão e como ela impacta a performance da sua aplicaç...