Category: development

  • 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 kernel…

  • 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, aguardando…

  • Big O notation e um feliz 2022!

    Quando o tempo de execução te assusta! A notação Big O é um conceito que todos os estudantes de ciência da computação encontrarão em seus estudos em algum lugar ao longo do caminho. Mas, qual a importância que o Big O tem? Big O? A letra “O” vem de ordem, outro termo para descrever o…

  • 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 (antes…

  • Como utilizar Optional.stream()

    Como utilizar Optional.stream()

    Olá! Tudo bem com vocês? Depois de algum tempo ausente, finalmente estou disponível para continuar escrevendo em meu blog. Hoje vou tentar demonstrar como deixar seu código mais limpo, ajudando assim na leitura do mesmo e também a vida das pessoas que fazem review do seu código java. Optional.stream() é uma feature do Java 9,…

  • Minha participação no @2devs podcast | Bem vindo 2021

    Antes de tudo gostaria de dar as boas vindas ao ano de 2021, desejar a todos que tenham seus sonhos realizados e saúde. Bom o ano começou muito legal, já teve o primeiro meetup este ano da comunidade SIMBORADEVS, fica aqui o convite para participar do nosso slack e ficar por dentro das ações. E…

  • Java 15 – Sealed Classes and Interfaces

    A novidade que tenho pra vocês me deixou realmente animado, adorei essa nova feature do Java 15, a linguagem está a ficar cada vez mais moderna e divertida! “Sealed Classes” ou “classes seladas” é o nome da nova feature que veio através da JEP 360, e tem como fundamento definir um design limpo onde você…

  • 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. Criei…

  • 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ê” e…

  • ConcurrentHashMap

    ConcurrentHashMap

    ConcurrentHashMap é uma melhoria do HashMap, pois sabemos que, ao lidar com Threads, o HashMap não é uma boa escolha porque o em termos de desempenho deixa muito a desejar. A classe ConcurrentHashMap é thread-safe, ou seja, várias threads podem operar em um único objeto sem complicações. Ao mesmo tempo, qualquer número de encadeamentos é…

  • Diferença entre os patterns: Observer x Publish Subscribe

    Diferença entre os patterns: Observer x Publish Subscribe

    Adoro conversar, se tem uma coisa que gosto de fazer é falar e ouvir… e em uma dessas conversas recentes surgiu a discussão sobre como explicar mais rapidamente as diferenças entre os padrões de Observables e PubSub. Resolvi então traduzir o fio da conversa em um post aqui, não vou entrar em todos os detalhes,…

  • QuarkusIO — Supersonic Subatomic 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 algumas…

  • 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.Chaos…

  • 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 is…

Create a website or blog at WordPress.com