Olá pessoal,
Creio que todos que começam com java, se deparam primeiramente com a seguinte classe:
public class HelloWorld{
public static void main(String[] args) {
System.out.println(“Olá mundo”);
}
}
Recentemente precisei trabalhar com um componente que utiliza uma DLL do windows, quebrando a multiplataforma ;-(, daí que depois de ralar várias horas tentando descobrir como descarregar a dll do classloader, eis que consegui a resposta. Tudo estava em um simples método: System.Exit( 0 ). A grande questão é, afinal, o que é a classe System ? para que serve ?
Bem, se olharmos a documentação padrão do java, veremos que esta classe é uma abstração a vários recursos muito uteis do Ambiente em que se esta executando a aplicação, como por exemplo:
– Acesso a variaveis de ambiente
– Acesso a saida padrão do console
– Carregamento de bibliotecas nativas ( dll )
Além é claro, de alguns outros recursos interessantes, como, recuperar a data atual do SO ou ainda
Copiar um Array para outro.
Vejam os trechos de código abaixo:
———Copiando um array pra outro———————————————-
String[] arrayA = new String[]{“Joao”,”Maria”,”Fulano”};
String[] arrayB = new String[ arrayA.length ];
System.arraycopy( arrayA, 0, arrayB, 0, arrayA.length );
for (String vlr : arrayB) {
System.out.println( vlr );
}
———————————————————————————–
———-Recuperando o valor de uma variável de ambiente———————–
String vlr = System.getenv(“JAVA_HOME”);
System.out.println( vlr );
————————————————————————————
———–Recuperar importantes propriedades do ambiente de execução———-
Properties props = System.getProperties();
Set
Obs: Bastante útil quando se deseja saber a arquitetura do processador( 32 ou 64 bits ), ou ainda
o sistema operacional do usuário ( Windows, Linux, MacOS )
————————————————————————————–
———–Sugere a VM para chamar a Garbage Colector—————————
System.gc();
Obs: Sugerir e bem diferente de mandar viu 😉 SCJP nessa horas faz toda a diferença.
————————————————————————————
————————-Carregar uma biblioteca nativa——————————
System.loadLibrary(“suadll”);
————————————————————————————-
————Termina a execução da maquina virtual———————————-
System.exit( 0 );
Obs: Lembre-se disso quando passar por erros de DLL que precisam ser carregadas a cada execução, principalmente em Applets( Use no Stop method ), sofri alguns dias por causa desse bendito método.
————————————————————————————–
Um grande abraço.