Author Archives: João Del Valle

PHP: Constantes e métodos estáticos

Constantes e métodos de classe (estáticos) são muito utilizados em frameworks, especialmente para reuso de código e organização de escopo. Em PHP, pode-se usar a palavra-chave self para acessar uma constante de classe a partir de um método estático da … Continue reading

Posted in PHP | Tagged , , , , , | 3 Comments

PHP: Interceptar métodos inexistentes (__call)

Palavras-chave: PHP, __call, métodos dinâmicos, orientação a objetos O PHP tem uma função mágica chamada __call(). Se sua classe declarar um método com este nome, ele será invocado sempre que for feita uma chamada a um método não existente naquela … Continue reading

Posted in PHP | 5 Comments

Java: NoClassDefFoundError e ClassNotFoundException

Palavras-chave: Java, classes não encontradas, classpath Os erros NoClassDefFoundError e ClassNotFoundException acontecem com frequência em aplicações Java e é importante entendê-los com clareza, a fim de diagnosticar problemas mais rapidamente. Ambos os erros significam essencialmente a mesma coisa: uma classe … Continue reading

Posted in Java | 3 Comments

Java: Enviar emails com autenticação (SMTP)

Palavras-chave: Java, JavaMail, email, SMTP, SMTP autenticado Enviar emails é uma tarefa corriqueira, mas sempre precisamos olhar um exemplo da JavaMail API para montar uma classe utilitária. A seguir, um exemplo mínimo do envio de emails através de um servidor … Continue reading

Posted in Java | 9 Comments

Java: Fazer ping em um servidor

Palavras-chave: ping, ICMP, java.net.InetAddress, isReachable, Java 5 A partir do Java 5, fazer ping em um servidor usando Java ficou bastante simples. É só usar o método isReachable da classe java.net.InetAddress. O método a seguir usa isReachable para pingar um … Continue reading

Posted in Java | 4 Comments

Java: classpath com caracteres curinga (wildcards)

Palavras-chave: classpath, wildcards, caractere curinga, Java 6 O Java 6 trouxe um recurso para facilitar a vida do programador: os caracteres curinga (wildcards) na definição do classpath. O que antes você fazia assim: java -cp lib/codare-main.jar:lib/codare-utils.jar:lib/mail.jar \\ codare.MinhaClasse Hoje pode … Continue reading

Posted in Java | 1 Comment

Java: Como ler, editar e salvar imagens (ImageIO)

Palavras-chave: imagem, imagens, ler, salvar, carregar, editar, JPG, JPEG, GIF, PNG, imageio Ler e escrever arquivos de imagens em Java é tão fácil que até nem parece Java: BufferedImage imagem = ImageIO.read(new File(“mariabonita.gif”)); // fazer algo com a imagem… ImageIO.write(imagem, … Continue reading

Posted in Java | 22 Comments

Java: Listando os processos em execução na máquina (jps)

Palavras-chave: Java, jps, listagem de processos, parâmetros da JVM O JDK 6 fornece algumas ferramentas de monitoração e diagnóstico de problemas que podem ser úteis no dia-a-dia de um ambiente de produção. A mais básica delas é o jps, que … Continue reading

Posted in Java | 1 Comment

Java: Métodos com argumentos variáveis

Palavras-chave: Java 5, varargs, argumentos variáveis A versão 5 da plataforma Java trouxe um recurso muito comum em diversas outras linguagens: número variável de argumentos na chamada de métodos. A sintaxe é simples e intuitiva: public class Varargs { public … Continue reading

Posted in Java | 1 Comment

Java: Gerando códigos hash (MD5, SHA)

Palavras-chave: Java, hash, MD5, SHA-1, SHA-256, MessageDigest A maneira mais comum de se gerar um código hash em Java é utilizando a classe java.security.MessageDigest. O método a seguir gera o hash MD5 de uma string: MessageDigest md = MessageDigest.getInstance(“MD5”); md.update(frase.getBytes()); … Continue reading

Posted in Java | 26 Comments

Java: Percorrendo coleções com Java 5

Palavras-chave: Java, Java 5, coleções, iteração, genéricos A linguagem Java já tem mais de uma década de idade e naturalmente evoluiu neste período. Verifique se o jeito que você usa coleções está atualizado. Antes do Java 1.2, a classe para … Continue reading

Posted in Java | 3 Comments

Java: Solucionando o erro de "PermGen space"

Palavras-chave: java, permgen, falta de memória, geração permanente A máquina virtual Java tem uma área de memória limitada chamada Geração Permanente (Perm Generation), onde são armazenados objetos cuja desalocação é rara (ex.: código de classes, objetos de reflexão, pool de … Continue reading

Posted in Java | 17 Comments

Java: Impressão de bytes como hexa

Palavras-chave: java, byte, conversão, hexadecimal Em Java, as conversões e promoções numéricas às vezes fazem tarefas simples parecerem complicadas. A seguir, um método rápido para imprimir um array de bytes. public class ImpressaoBytes { public static void main(String[] args) { … Continue reading

Posted in Java | 1 Comment