Como inverter um número

Suponha que você deseja transformar um número qualquer no seu valor invertido. Por exemplo: 3210, se torne 123. Como fazer isso de maneira programática? Uma das maneiras mais simples é você transformar numa string, invertê-la e converter novamente em um Continue lendo Como inverter um número

Como saber a fase da Lua de cabeça?

Quer aprender a descobrir a fase lunar de um dia apenas somando 3 a 4 números? Vamos ver mais a frente... Ao estudar um pouco sobre as fases lunares, me deparei com um algoritmo muito interessante do matemático John Horton Conway. Continue lendo Como saber a fase da Lua de cabeça?

Cálculo do dia lunar e fases da lua com Java 10

Dia 30 de março iniciou o período de Pessach (ou páscoa) judaica. O interessante é que as festas judaicas são calculadas de acordo com as fases da lua e dias lunares, baseado num calendário luni-solar (períodos da lua e sol). Continue lendo Cálculo do dia lunar e fases da lua com Java 10

Copiar arrays em Java

Em Java, temos algumas maneiras de fazer cópias ou sub-cópias de arrays: Manualmente: criar outro array e copiar elemento a elemento Utilizar System.arraycopy Utilizar Arrays.copyOfRange ou Arrays.copyOf para versão do Java maior ou igual a 1.6 Qual deles é melhor? Continue lendo Copiar arrays em Java

Maneiras de medir o tempo em Java sem bibliotecas externas

Em Java, existem algumas formas de medir o tempo de execução de um trecho do código sem o uso de bibliotecas externas ou ferramentas de profiling. O jeito mais convencional é utilizar o System.currentTimeMillis(): Pode-se substituir o currentTimeMillis() por nanoTime(). Continue lendo Maneiras de medir o tempo em Java sem bibliotecas externas

Threads no escopo JEE

Quando eu entrevisto alguém pra uma vaga de emprego, eu sempre pergunto se podemos utilizar threads em escopo JEE. Já recebi várias, resposta, algumas preocupantes, outras espertas. Resolvi fazer um post para esclarecer essa questão. A própria documentação da Oracle Continue lendo Threads no escopo JEE

Problema ao iniciar WebLogic

Caso você tenha o seguinte problema ao inicializar o WebLogic: oracle.core.ojdl.logging.LoggingConfigurationException: ODL-52049: cannot create instance of class 'oracle.dfw.incident.IncidentDetectionLogFilter': java.lang.ExceptionInInitializerError .... WARNING: unable to register log dump; exception: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException ... <Critical> <WebLogicServer> <BEA-000286> <Failed to invoke startup class "DMS-Startup", java.lang.NoClassDefFoundError: Continue lendo Problema ao iniciar WebLogic

Método da Bissecção

Esses dias resolvi retomar o conhecimento de cálculo numérico que tive na faculdade. O primeiro tópico que abordei foi os métodos iterativos de obter zeros reais de funções. Tomei como base o livro de Cálculo Numérico que tive na faculdade. Continue lendo Método da Bissecção

Extrair arquivos estáticos

Para melhor o desempenho de aplicações é interessante colocarmos um servidor de conteúdo estático, como o Apache, para trabalhar com os conteúdos que não precisam ser dinâmicos, como imagens, folhas de estilos, javascripts e afins. No Java normalmente esse conteúdo, Continue lendo Extrair arquivos estáticos

RandomAccessSubList não serializável

Caso você tenha se deparado com o seguinte erro: java.io.NotSerializableException: java.util.RandomAccessSubList at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) Em ambientes clusterizados ou ao serializar algum objeto, significa que você está utilizando um atributo de classe Continue lendo RandomAccessSubList não serializável

Criando Jar Cliente para o WebLogic

Para algumas aplicações clientes que você deseja utilizar o WebLogic como server é comum utilizar o arquivo weblogic.jar em seu projeto. O problema é que esse arquivo tem algumas restrições de licença, que inviabiliza a sua distribuição. Entretanto, existe um Continue lendo Criando Jar Cliente para o WebLogic

Como encurtar uma URL via java sem autenticação

Aproveitando o post: Como encurtar uma URL via javascript sem autenticação, segue a mesma versão, mas agora usando Java, sem lib. Para utilizar é só chamar o método: Agora é só aproveitar.

Total de linhas em um arquivo

No Java existe uma classe que mantém o controle do número de linhas em um arquivo: a classe LineNumberReader. Ela possui o método getLineNumber que é incrementado a cada quebra de linha em um arquivo. Com isso em mente há Continue lendo Total de linhas em um arquivo

Descobrindo a versão do seu bytecode.

Em algumas situações temos o seguinte erro: java.lang.IncompatibleClassChangeError: Implementing class ou java.lang.UnsupportedClassVersionError: XXXX: Unsupported major.minor version XX.X Isso ocorre quando a versão do aplicativo foi compilada (javac) em uma versão superior à máquina virtual (java) que está sendo executada. Para Continue lendo Descobrindo a versão do seu bytecode.

Lendo o MANIFEST.MF em tempo de execução

Para ler o arquivo MANIFEST.MF em tempo de execução que se localiza dentro de um JAR é só executar o seguinte código passando o caminho para a variável jarFile: No Map entries, você terá os atributos do arquivo MANIFEST.MF e Continue lendo Lendo o MANIFEST.MF em tempo de execução