Java é uma palavra muito comum nos últimos anos, no entanto tremendamente mal compreendida, pois a maioria das pessoas que ouvem este nome pensa numa linguagem de programação. Java é uma plataforma, com muitos conceitos e tecnologias que facilitar e aceleram o desenvolvimento de aplicativos e grandes sistemas. Como parte desta plataforma, existe também uma linguagem de mesmo nome.
Desta forma podemos dizer que a plataforma Java é o nome dado ao ambiente computacional, ou plataforma, criada pela empresa estadunidense Sun Microsystems e vendida para a Oracle depois de alguns anos. A plataforma permite desenvolver aplicativos utilizando qualquer uma das linguagens criadas para a plataforma Java, sendo a linguagem padrão a que leva seu próprio nome: Linguagem Java. Uma grande vantagem da plataforma é a de não estar presa a um único sistema operacional ou hardware, pois seus programas rodam através de uma máquina virtual.
Em outras palavras, JAVA é um conjunto de recursos e funcionalidades, baseados numa especificação, que descreve em detalhes todo o seu funcionamento. Um programa JAVA não será executado diretamente pelo Sistema Operacional, como ocorre com um programa comum, ele será executado por um conjunto de bibliotecas chamado Java Runtime Environment (JRE), formando um ambiente isolado, onde a aplicação irá funcionar normalmente. Normalmente este ambiente isolado é chamado de JAVA Virtual Machine (Máquina Virtual JAVA - JVM).
Um programa padrão, como Microsoft Word, por exemplo, é executado diretamente pelo Windows. Já um programa JAVA não é compreendido pelo Windows, para que ele seja executado, será necessário um intermediador, chamado de JVM. O Windows irá executar a JVM, que por sua vez irá executar o programa JAVA. Caso você queira rodar o mesmo programa feito em JAVA em outro sistema operacional, como exemplo o Linux, basta instalar uma versão do JAVA para o Linux, executar a JVM, que irá ler o seu programa em JAVA, o mesmo que funcionou no Windows, sem requerer nenhuma alteração.
Em outras palavras, que sempre executa o seu programa Java é a JVM, o seu programa não tem acesso direto aos recursos que estão no seu computador, ele faz requisições à JVM, que por sua vez faz a requisição ao sistema operacional. Vamos supor que o programa JAVA gere um resultado num arquivo de texto, para isto o desenvolvedor programou uma rotina para gravar o resultado em disco. O programa Java passa os comandos para a JVM, que é sempre do mesmo modo, pois é Java, é sempre igual. Já a JVM é feita com as particularidades do sistema operacional no qual está rodando, ela recebe o comando do programa JAVA e encaminha para o sistema operacional. Sendo assim, não importa o tipo de sistema operacional que você rode o seu programa, a gravação de arquivos será feita sempre do mesmo jeito.
Agora imagine este imenso potencial da plataforma JAVA, atualmente temos computadores com Windows, Linux, Mac OS X, além de Smart Phones, tablets e tantos outros. Você cria um programa e consegue executá-lo onde quiser. Claro que dentro de certas limitações, um programa muito grande e complexo, que requer muitos recursos, que roda em um computador certamente não ira conseguir rodar num celular. Observe a figura abaixo:
Figura 1
Com isso, um programa Java pode ser criado em um sistema operacional e rodar em outro sem modificações. Para isto basta mudar a JVM, não precisa mudar o programa Java. Isso é uma grande vantagem para o desenvolvedor e principalmente para grandes empresas que não precisam ficar atrelados aos problemas particulares de cada sistema operacional.