Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo Java

Retrospectiva do Ecossistema Java 2024

O ano de 2024 foi marcante para o ecossistema Java, consolidando sua posição como uma das principais linguagens de programação no desenvolvimento de aplicações modernas. Com atualizações significativas, adoção crescente de novas versões e discussões relevantes na comunidade, o Java demonstrou sua capacidade de evolução contínua para atender às demandas tecnológicas atuais. Principais Notícias de 2024 Adoção acelerada do Java 21 Em setembro de 2023, foi lançado o Java 21, trazendo melhorias notáveis, como threads virtuais e bibliotecas aprimoradas. A adoção desta versão foi significativamente mais rápida em comparação com lançamentos anteriores. Nos seis meses subsequentes ao lançamento, 1,4% das aplicações monitoradas já utilizavam o Java 21, um aumento de 287% em relação ao mesmo período após o lançamento do Java 17. Além disso, o Java 17, lançado anteriormente, viu sua adoção crescer para 35% das aplicações, refletindo um aumento de quase 300% em um ano. Alguns dos recursos relevante...

Introdução ao projeto OpenJDK CRaC

Projeto OpenJDK CRaC: reduzindo drasticamente o tempo de inicialização de aplicativos Java Um pouco de história O objetivo do Java sempre foi ser independente de plataforma. Isto é, sem precisar compilar o código novamente, é possível rodar em qualquer dispositivo compatível com a máquina virtual (JVM). O famoso slogam ( write once, run anywhere ) Desafios da inicialização de aplicativos na JVM Embora o Java seja uma linguagem popular, a inicialização de aplicativos na JVM pode ser um processo demorado. Isso ocorre porque a JVM precisa realizar várias etapas antes que um aplicativo possa ser executado. Primeiro, a JVM precisa carregar e inicializar todas as classes necessárias para o aplicativo. Isso envolve ler os arquivos de classe, desempacotar arquivos JAR e inicializar todas as dependências. Em seguida, a JVM precisa fazer algumas otimizações de tempo de execução, como compilação just-in-time (JIT) e inlining de métodos. Essas otimizações ajudam a melhorar o desempenho do ap...

Conheça o instancio

Uma biblioteca Java para automatizar a configuração de dados em testes de unidade. Neste post, vou apresentar a biblioteca instancio ( www.instancio.org ), uma ferramenta poderosa para facilitar a criação de testes unitários em Java. A biblioteca instancio permite instanciar objetos complexos com apenas uma linha de código, evitando a necessidade de escrever construtores, setters ou builders. Além disso, a biblioteca instancio é compatível com o Junit, o framework mais popular para testes unitários em Java. Para ilustrar o uso da biblioteca instancio, vou usar um exemplo de um sistema de escola que oferece cursos aos alunos. O sistema possui as classes Curso, Aluno, Plrofessor e Matricula, que representam os conceitos do domínio. Cada classe possui vários atributos e métodos, que não serão detalhados aqui por questão de simplicidade. O objetivo é testar o método matricularAluno da classe Curso, que recebe um objeto Aluno e cria uma nova Matricula associada ao curso e ao aluno. Se...