Translate

quarta-feira, 29 de agosto de 2012

Alerta de ameaça - Plugin Java para navegadores

Foi detectada recentemente uma falha no plugin do Java para navegadores e está sendo explorada por um malware difundido pela rede.

O malware é capaz de conceder acesso completo ao sistema de seu computador que poderá ser controlado por servidores já preparados para isso.

A recomendação é desativar o plugin do Java de seus navegadores enquanto a falha na segurança é corrigida.

Caso você não saiba como desabilitar o plugin em seu navegador, consulte um especialista para te ajudar.

Fontes:
http://g1.globo.com/tecnologia/noticia/2012/08/java-tem-falha-critica-e-codigo-de-exploracao-ja-circula-na-web.html
http://tecnoblog.net/111640/java-falha-zero-day/

sexta-feira, 3 de agosto de 2012

Eclipse - Failed to create Java Virtual Machine

Recentemente meu Eclipse Indigo se atualizou como de costume e após reiniciá-lo recebi a mensagem "Failed to create the Java Virtual Machine".

A razão do problema é que o Eclipse teve seu arquivo de inicialização modificado de maneira errada por alguma atualização.

Foi necessário editar o arquivo Eclipse.INI  e reorganizar as informações e o Eclipse voltou a funcionar:

Atenção: Faça um backup do seu Eclipse.INI antes de alterá-lo, porque os pacotes JAR do seu INI original devem ser preservados.

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-product
org.eclipse.epp.package.rcp.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jdk1.6.0_27\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx1024m

 
Fonte: http://wiki.eclipse.org/Eclipse.ini

quarta-feira, 1 de agosto de 2012

Java - Leitura de XML com a SAX

Ao ler um arquivo XML você pode utilizar duas maneiras, SAX e a DOM.

A SAX é prove uma forma direta de acessar elementos de um XML por seu identificador e não requer leitura de uma hierarquia para isso. Diferente da SAX, a DOM é uma maneira de ler o XML também, mas por meio de uma hierarquia.

No entanto, este artigo apresenta um exemplo de leitura de XML via SAX na linguagem Java.

Documento XML

Crie o arquivo cesta.xml. No exemplo, este arquivo foi criado no diretório c:\temp. Preencha com o conteúdo a seguir:

<cesta loja="Papelex">

   <caneta>Caneta BIC</caneta>
   <caneta>Caneta Kilometrica</caneta>
   <caneta>Caneta Faber</caneta>
   <caneta>Caneta Helios</caneta>
   <caneta>Caneta Ferrari</caneta>
   <caneta>Caneta Pentec</caneta>

   <lapis>Caneta BIC</lapis>
   <lapis>Caneta Kilometrica</lapis>
   <lapis>Caneta Faber</lapis>
   <lapis>Caneta Helios</lapis>
   <lapis>Caneta Ferrari</lapis>
   <lapis>Caneta Pentec</lapis>

</cesta>
 

Classe de leitura do XML

Crie a classe de leitura do XML chamada TestaXML.java.

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

public class TestaXML {

    public static void main(String[] args) throws JDOMException, IOException {

        File f = new File("c:/temp/cesta.xml");
       
        SAXBuilder sb = new SAXBuilder();
       
        Document doc = sb.build(f);

        Element cesta = doc.getRootElement();

        System.out.println("CESTA:");   
        System.out.println("Loja: " + cesta.getAttributeValue("loja"));   
        System.out.println("-------------------------------------------------");   
       
        List<Element> canetas = cesta.getChildren("caneta");

        for (int i = 0; i < canetas.size(); i++) {
           
            Element caneta = canetas.get(i);

            System.out.println("CANETA:");   
            System.out.println("Modelo: " + caneta.getValue());   
        }

        System.out.println("-------------------------------------------------");   
       
        List<Element> lapis = cesta.getChildren("lapis");

        for (int i = 0; i < lapis.size(); i++) {
           
            Element umLapis = lapis.get(i);

            System.out.println("LÁPIS:");   
            System.out.println("Modelo: " + umLapis.getValue());   
        }

        System.out.println("-------------------------------------------------");   
       
    }
}



Observe que entre as tags <cesta> e </cesta>, foram colocadas tags <caneta> e <lapis> muitas vezes. Logo, foram acessadas separadamente os elementos do tipo caneta e lápis pela função getChildren.