Java 19 – Virtual Threads (JEP 425 preview – Como usar?!)

Finalmente estamos colhendo os primeiros resultados do Project Loom, trazendo Virtual Threads para a JVM. Virtual threads são threas controlados pelo Java Runtime, em oposição aos Platform Threads que dependem de threads do sistema operacional. Threads de runtime Java geralmente são correspondentes à threads do kernel do sistema (one-to-one), e o thread scheduler do kernelContinue reading “Java 19 – Virtual Threads (JEP 425 preview – Como usar?!)”

Como funciona Java Thread Pool?

Pergunta de entrevista*** Vamos lá, diretamente ao ponto: Internamente, as tasks são inseridas em uma Blocking Queue da qual as threads do pool estão sendo desenfileirados. Quando uma nova task é inserida na fila, uma das threads ociosas a desenfileirará com sucesso e a executará. O restante das Threads ociosas no pool serão bloqueadas, aguardandoContinue reading “Como funciona Java Thread Pool?”

Java – instanceof Pattern Matching

O Pattern Matching para o operador instanceof foi introduzido como um recurso de visualização com JDK 14 e foi finalizada com JDK 16, desde então, não é surpreendente ver mudanças sendo feitas no JDK para tirar vantagem dessa nova funcionalidade. Nesta postagem, vamos focar no uso de Pattern Matching do instanceof na implementação anterior (antesContinue reading “Java – instanceof Pattern Matching”

SynchronizedMap x ConcurrentHashMap – micro benchmark

Conforme dito previamente, agora vamos criar uma classe para fazer um micro benchmark para exemplificar o que foi explicado sobre SynchronizedMap e ConcurrentHashMap nos posts anteriores. Quais foram os passos que segui? 1. Criei a classe TestBenchmark; 2. Passei uma implementação diferente como argumento para o método de teste Collections.synchronizedMap(new HashMap()) e ConcurrentHashMap(); 3. CrieiContinue reading “SynchronizedMap x ConcurrentHashMap – micro benchmark”

HashMap pode ser sincronizado em Java?

HashMap é uma estrutura de dados muito poderosa em Java e nós a usamos todos os dias e em quase todos os aplicativos. Como devem saber HashMap é uma classe de coleção não sincronizada, caso não saibam, a novidade é saber que SIM, HashMap pode ser sincronizado. Neste tutorial, vamos tentar entender “Por Quê” eContinue reading “HashMap pode ser sincronizado em Java?”

QuarkusIO — Supersonic Subatomic Java

Hoje vamos iniciar um tutorial para aprender um pouco como utilizar esse framework java nativo da RedHat, que espera se tornar a plataforma líder em ambientes Serverless e Kubernetes, além de oferecer aos desenvolvedores um modelo unificado de programação reativa e imperativa. O QuarkusIO aproveita uma série de libs comuns para os desenvolvedores Java, e algumasContinue reading “QuarkusIO — Supersonic Subatomic Java”

Java 8 — Just a little “explanation” 2

In the first part of this sequence you saw a new method on our List, the forEach. But, until Java 7 this method didn’t existed… how did it happen? We know that if this method would be declared in an interface, we could have a big problem! What? Everyone who implemented the interface would need to implement it.ChaosContinue reading “Java 8 — Just a little “explanation” 2”

Java 8 — Just a little “hands on” 1

**moved from medium.com I’m looking around and seeing many people working with older versions of Java.. then i will write some articles to stimulate this upgrade, to take doubts or discussions. Let’s start in my first Medium article with a common practice.. a loop with FOR EACH. Below you will take the old foreach: Arrays.asList isContinue reading “Java 8 — Just a little “hands on” 1”