Uso comum da classe System
1. Obtenha principalmente informações sobre variáveis de ambiente do sistema
Copie o código do código da seguinte forma:
public static void sysProp() lança exceção{
Map<String,String> env = System.getenv();
//Obtém todas as variáveis de ambiente do sistema
for(Nome da string: env.keySet()){
System.out.println(nome + " : " +env.get(nome));
}
//Obtém o valor da variável de ambiente especificada do sistema
System.out.println(env.get("JAVA_HOME"));
//Obtém todas as propriedades do sistema
Propriedades prop = System.getProperties();
//Salva as propriedades do sistema no arquivo de configuração
prop.store(new FileOutputStream("Prop.properties"),"Propriedades do sistema");
//Saída de propriedades específicas do sistema
System.out.println(System.getProperty("os.nome"));
}
2. Operações de método relacionadas à hora do sistema
Copie o código do código da seguinte forma:
public static void sysTime(){
//Obtém a hora atual em milissegundos do sistema currentTimeMillis() (retorna a diferença de horário entre a hora atual e UTC 1970.1.1 00:00)
Muito tempo = System.currentTimeMillis();
System.out.println(hora);
Long time1 = System.nanoTime(); //Usado principalmente para calcular a diferença de tempo em nanossegundos
Longo tempo3 = System.currentTimeMillis();
for(Long i =0l;i <999l; i++){}
Longo tempo2 = System.nanoTime();
Longo tempo4 = System.currentTimeMillis();
System.out.println(time2 - time1+ " : " +(time4 - time3));
}
3. Identifique se os dois objetos são iguais na memória heap
Copie o código do código da seguinte forma:
public static void identidadeHashCode(){
//str1 str2 são dois objetos String diferentes
String str1 = new String("oláMundo");
String str2 = new String("oláMundo");
//Como a classe String substitui o método hashCode(), seu HashCode é o mesmo
System.out.println(str1.hashCode()+" : "+str2.hashCode());
//Como eles não são o mesmo objeto, o HashCode calculado é diferente.
//Na verdade, este método usa o método de cálculo HashCode mais original, que é o método de cálculo HashCode de Object.
System.out.println(System.identityHashCode(str1) + " : "+ System.identityHashCode(str2));
String str3 = "olá";
String str4 = "olá";
//Como eles se referem ao mesmo objeto no pool constante, seu HashCode é o mesmo.
System.out.println(System.identityHashCode(str3) + " : "+ System.identityHashCode(str4));
/*A saída é a seguinte
-1554135584: -1554135584
28705408: 6182315
21648882: 21648882
*/
}
Uso comum da classe Runtime
Cada aplicativo Java possui uma instância da classe Runtime que permite que o aplicativo se conecte ao ambiente em que é executado.
Copie o código do código da seguinte forma:
classe RunTimeTest
{
public static void main(String[] args) lança exceção
{
getJvmInfo();
//execTest();
}
public static void getJvmInfo(){
//Obtém os objetos de tempo de execução relacionados ao tempo de execução Java
Tempo de execução rt = Runtime.getRuntime();
System.out.println("Número de processadores:" + rt.availableProcessors()+" byte");
System.out.println("Memória total Jvm: "+ rt.totalMemory()+" byte");
System.out.println("Memória livre Jvm: "+ rt.freeMemory()+" byte");
System.out.println("A quantidade máxima de memória disponível para Jvm: "+ rt.maxMemory()+" byte");
}
public static void execTest() lança exceção{
Tempo de execução rt = Runtime.getRuntime();
//Executa o comando de string especificado em um processo separado.
rt.exec("mspaint E://mmm.jpg");
}
}