Java

Java – Reduzindo o tamanho do JSON com GZIP e Jackson lib (Reducing JSON Data Size – GZIP JSON Compressor with Jackson library)

Dependendo da situação podemos ter a necessidade de trafegar ou armazenar dados compactados a fim de reduzir o tamanho de armazenamento ou a quantidade de dados trafegado. Com essa ideia, desenvolvi uma lib que utiliza a própria implementação da lib Jackson para transformar o JSON gerado por ela em um JSON compactado por GZIP, dessa […]

Java – Compactação de String com GZIP

GZIP é uma das ferramentas favoritas para compactar arquivos em sistemas Unix. Podemos compactar um único arquivo no formato GZIP, mas não podemos compactar e arquivar um diretório usando GZIP como arquivos ZIP. O Java possui uma implementação nativa do algoritimo de compreesão do GZIP, o que torna relativamente simples de se implementar. Segue uma […]

Java – Liberando o TLSv1 no Java 11 ou superior

Em algumas situações não temos como atualizar um sistema legado e infelizmente podemos ter que nos comunicar atravéz de criptografias que estejam depreciadas. Exemplo: Se você estiver executando em um ambiente aberto, podemos simplismente encontrar o arquivo java.security na instalação do JRE que executará o software e basta só remover o algoritimo desejado da propertie: […]

Java Garbage Collector – Implementações, ZGC (Parte 4 / Final)

ZGC (Low Latency) O Z Garbage Collector, é um coletor de lixo escalável de baixa latência projetado para atender aos seguintes objetivos: Tempos máximos de pausa de sub-milissegundos (Para JDK <16 o max GC pause-time é na casa de 10ms, no JDK ≥16 fica abaixo de 1ms) Os tempos de pausa não aumentam com o tamanho […]

Java Garbage Collector – Implementações, G1 GC (Garbage First) (Parte 3)

G1 GC O objetivo do G1 GC é minimizar o tempo de pausa do GC e garantir o máximo de rendimento possível sem configuração adicional. Seu modelo fornece uma solução para usuários que executam aplicativos que exigem grandes heaps (não exigido) com uma latência de execução do GC limitada, ou seja, tempo de pausa (Ou […]

Java Garbage Collector – Implementações, Serial GC e Parallel GC (Parte 2)

Principais Implementações A JVM possui várias implementações de Garbage Collector: Serial, Parallel, G1, Z …  Cada coletor é otimizado para uma situação, e não necessariamente um é melhor que o outro, mas dependendo do objetivo de seu software conseguiremos escolher o mais adequado. Nesta sessão iremos entender suas principais características, qual é usada por default nas […]

Java Garbage Collector - Introdução (parte 1)

O objetivo deste artigo é conhecermos como a JVM lida com o gerenciamento de memória de nossas aplicações, quais os tipos de Garbage Collectors existentes até o momento e como escolher o melhor para determinada situação. O Garbage Collector (GC) é uma forma de realizar o gerenciamento automático de memória. Podemos dizer que é um […]

Spring Boot – Erro ao executar o jar: !/BOOT-INF/lib/ no such file – jersey-server

Ao executar um jar de um projeto Spring boot com a dependência do Jersey ( spring-boot-starter-jersey ) estava me deparando com o seguinte erro: Encontrei a salvação em um post no StackOverFlow que diz: The problem is that Jersey cannot scan classes in the new “fat boot jar”. This occurs when you try to use […]

Rolar para o topo