Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo Java

Como escolher entre JVM 32 ou 64bits ?

Olá Pessoal, hoje iremos falar um pouco sobre JVM, dando um foco nas diferenças sobre JVM de 32 e 64 bits. O que é a JVM ? Para quem é do mundo Java a JVM é um assunto conhecido, mas para quem esta vindo de outras plataformas pode ser um assunto novo e complexo, a JVM é uma máquina virtual responsável pela interpretação do bytecode (código compilado) e execução na máquina nativa. Ao compilar um código Java, teremos como resultado o  bytecode , este irá ser interpretado pela JVM, por esta razão é que o Java é independente de Plataforma, pois a JVM que garante a comunicação com a plataforma de execução. Hoje temos inúmeras linguagens que rodam em cima da JVM, tais como: Kotlin , Groovy , Scala , entre outras, pois o compilador de cada uma dessas linguagens gera no final o bytecode que será interpretado pela JVM. Utilizando a JVM 32 ou 64 bits Os sistemas operacionais são projetados para fazer a integração entre os softwares e o hardware ,  além de serem a interface homem x m...

Frameworks e Microframeworks para Java e Kotlin

Olá pessoal, hoje iremos ver alguns frameworks e microframeworks que ajudam no desenvolvimento ágil com Java e Kotlin. A Evolução do Desenvolvimento para JVM O desenvolvimento de software evoluiu muito nos últimos anos, e com isso a exigência por agilidade no desenvolvimento e na entrega aumentaram. A Oracle esta desenvolvendo um trabalho interessante com a plataforma Java, tendo a cada 6 meses um novo release do Java SE (atualmente na versão 13), onde atualizações e novas features estão  sendo adicionadas a plataforma. O Java EE que agora é mantido pela Eclipse com o nome de Jakarta EE , também terá uma evolução muito mais ágil, voltados para arquiteturas modernas e com a evolução de várias especificações que são muito famosas no mundo Java Enterprise. Temos também o Kotlin , que vem ganhando um espaço muito interessante no mercado, sendo uma linguagem com muitos recursos interessantes e fácil aprendizado, e além de possuir uma total interoperabilidade com Ja...

Atualizando a lista de Timezone da JVM

Olá pessoal vamos falar sobre como atualizar a lista de Timezone da JVM. O Problema da Mudança de Timezone Devido uma mudança realizada pelo governo brasileiro, este ano não teremos o horário de verão, que mudava o GMT para -2 em algumas regiões do Pais, com isso, as configurações de Timezone dos servidores são ajustados para não realizar a mudança, mas alguns ambientes onde temos JVM podem acabar mudando e não seguindo o Timezone do S.O, pois a regra antiga ainda encontra-se configurada. Ambiente Java 10 mudou com Timezone incorreto. Acima instanciamos um objeto Date() a partir do JShell e notamos a diferença no horário, onde o correto seria exibir 11:05:31. Lista de Timezone Atualizados Como aconteceu aqui no Brasil, podem acontecer mudanças de Timezone em qualquer lugar (mesmo não sendo comum), quando ocorrem essas mudanças temos que recorrer a listas de Timezone atualizadas para que os ambientes possam funcionar corretamente. No caso da JVM, a Oracle man...

Skipping Tests, Profiles e Debug com Maven

Olá pessoal, hoje iremos ver alguns comandos utilitários no processo de build do Maven. O Processo de Build O Maven é uma ferramenta que trás muitos benefícios ao ambiente de desenvolvimento, com ele gerenciamos dependências, versionamento e configurações dos projetos. Uma parte muito importante que devemos nos atentar é com o processo de build, este processo é composto pela execução de todo o ciclo de vida do Maven, execução dos plugins presentes no  pom.xml  e a criação do artefato final. É comum nos depararmos com builds que demoram vários minutos para completar, caso seja o seu caso, existem algumas métricas que dizem que "um processo de build não deve demorar mais que 5 minutos". Maven Skip Tests A execução dos testes é algo fundamental em projetos de softwares, mas as vezes nos deparamos com cenários onde precisamos executar o processo de build e não executar o pipeline de testes, com Maven temos 3 maneiras de executar tal tarefa, sendo: Plugin ...

Analisando na Prática o uso de Primitivos e Wrappers

O uso de tipos primitivos e Wrappers é um tema que traz diversas discussões, inclusive existem vários tutorias que mostram a aplicabilidade de cada uma das estratégias em diferentes cenários. As Classes Wrappers As classes Wrappers são aquelas que representam os tipos primitivos da linguagem Java, há algum tempo existiam autores que falavam que Java não era uma linguagem 100% OO por tratar os tipos básicos como primitivos, mas isso acabou quando adicionaram os tipos Wrappers a linguagem. O Wrappers são classes imutáveis, e possuem vários métodos utilitários que facilitam conversões, parses, formatação, entre outras funcionalidades bem utilizadas no dia a dia. Vamos analisar cada tipo primitivo e sua representação em classe Wrapper : byte Byte; short Short; int Integer; long Long; boolean Boolean; char Character; float Float; double Double; Comparação entre Wrappers Vamos entender como esses objetos funcionam no quesito compa...

Utilizando LocalDate, LocalDateTime e LocalTime na Prática

Tudo bem pessoal, hoje iremos avaliar e analisar operações de manipulação de Datas envolvendo a JavaTime API introduzida no Java 8. Exemplos da java.time API Já se passaram alguns anos desde o lançamento do Java 8 e mesmo após este período, há empresas que desconhecem o poder da java.time API, esta foi uma nova API de datas introduzida no Java 8 visando resolver problemas que tínhamos com as velhas classes Date e Calendar. Vamos mostrar vários exemplos práticos do uso da API: Criação de objetos No exemplo abaixo, estamos criando os objetos para manipulação de datas, perceba que temos 3 tipos, sendo LocalDate para manipular datas, LocalDateTime para manipular data/hora e LocalTime para horas: LocalDate localDate = LocalDate . now (); LocalDateTime localDateTime = LocalDateTime . now (); LocalTime localTime = LocalTime . now (); Utilizando formatação Aqui realizamos a operação de formatação, perceba que não foi necessário utilizar a classe SimpleDateF...

Lendo e Manipulando arquivos CSV com Java

Olá hoje veremos como realizar a leitura e manipulação de arquivos CSV com Java, mostrando que as novas versões da plataforma Java deixaram algumas tarefas simples de serem realizadas. Exemplo de Arquivo Hoje em dia é comum ao realizar integrações ou carga de dados o uso de arquivos CSV , isto porque, este arquivo possui uma estrutura de fácil entendimento e simples de manipular na maioria das plataformas de desenvolvimento. Para realizar a leitura dos dados vamos manipular um arquivo com as seguintes colunas:  name ,  cpf ,  age ,  phone  e  address: name ; cpf ; age ; phone ; address caio ; 123456789 ; 20 ; 1145223643 ; Avenida Paulista vinicius ; 147852369 ; 18 ; 1125253625 ; Avenida Manoel sandra ; 963258741 ; 30 ; 1174587858 ; Rua Teixeira regina ; 125478522 ; 40 ; 1145254536 ; Rua Fernando fernando ; 785245563 ; 42 ; 1145253669 ; Rua Pereira augusto ; 456123014 ; 50 ; 1125363633 ; Avenida Paulinia maria ; 456123789 ; 10 ; 11254555...

Versionamento de Banco Dados com Flyway

Olá pessoal, hoje iremos analisar e aprender como realizar o versionamento e gerenciamento das bases de dados relacionais utilizando o framework Flyway. Versionamento de Banco Dados Ao trabalhar com desenvolvimento de sistemas é comum realizarmos o versionamento, isso porque uma aplicação pode necessitar de correções, novas funcionalidades e evoluções, onde para garantir a compatibilidade e cuidar do seu ciclo de vida, geramos versões onde é especificado quais itens estão presentes em cada release . Vamos imaginar seguinte cenário: Sistema ERP 1.0.0 : Entrega dos módulos Financeiro e RH; 1.1.0 : Entrega do módulo Contas a Receber. Perceba que a ideia é controlar o que cada versão possui de diferente, e para controlar essas mudanças no lado da aplicação existem várias técnicas e ferramentas, mas e para controlar as mudanças no lado do Banco de dados ?  Para isso podemos utilizar ferramentas de versionamento que ajudam a realizar este controle, a ferramenta qu...

Dicas para a Certificação OCM Java EE Enterprise Architect

Olá pessoal, hoje irei postar e comentar algumas dicas para quem tem interesse em adquirir a certificação OCM Java EE 6 Enterprise Architect. A Certificação Esta certificação se enquadra no titulo Master da Oracle , por esta razão ela é mais complexa do que as outras Certificações do mundo Java, para mais detalhes consulte a página oficial da certificação. Fases da Certificação A certificação é composta por 5 fases, sendo 3 exames, 1 treinamento oficial e o envio de documentos, na seguinte ordem: Realização de Curso Oficial; Exame 1Z0-807; Exame 1Z0-895; Exame 1Z0-866; Envio do curso oficial ( Course Submission Form). Realização do Curso Oficial Esta etapa é uma exigência que a Oracle faz principalmente para os exames OCM , onde cada candidato deve ter concluído um curso oficial, cada exame tem uma relação de cursos que podem ser realizados, onde você deve realizar pelo menos um curso, não sendo necessário realizar vários . Você pode realizar o curso antes de c...