Problemas com CLASSPATH - PATH - JAVA_HOME

Bom dia, alguma boa alma poderia me fazer a gentileza de me explicar o que são: Classpath, PATH e JAVA_HOME?


Sei que são variáveis ambiente mas não sei para que servem e não consigo configura-las. Trocando em miúdos vou explicar o que acontece:


Uso o Eclipse Mars e o Sublime Text no Ubuntu 15.10. Quando crio um programa simples pelo sublime text (segue código abaixo) e compilo uso o comando “javac” o programa compila sem nenhum problema, porém quando uso o comando “java” para executar recebo sempre o mesmo aviso: Erro: Não foi possível localizar nem carregar a classe principal hello.class


package hello;

import javax.swing.JOptionPane;

public class hello {

	public static void main(String[] args) {
		JOptionPane.showMessageDialog(null, "trem");
	}

}

Quando executo pelo Eclipse ele funciona normalmente! Não entendo o que está acontecendo já li a documentação da Oracle sem efeito.