Gostaria que opinassem se falo alguma besteira aqui (que faltam informações eu acho que sim):
O que é Java?
Normalmente na criação de um programa deve-se defininir a arquitetura da CPU para a qual ele será compilado (plataforma de hardware) e o sistema operacional sobre o qual ele vai rodar (plataforma de software). Isto ocorre porque cada família de processadores e sistemas operacionais funcionam de maneira diferente. Assim o programa só roda sobre um hardware que ?entenda? suas instruções, e sobre um sistema operacional com o qual interage.
A idéia básica de Java é prover a independência de plataforma, tanto de hardware quanto de sofware, de modo que você possa executar programas Java em qualquer dispositivo que esteja habilitado para tal, como um computador doméstico, um celular, uma geladeira etc. Para atingir tal objetivo ela possui duas coisas:
- API inerente à linguagem ? o programa não interage mais com o sistema operacional
- Um ambiente de execução padronizado (JVM) ? o programa não interage mais diretamente com o harware
Essas duas características significam que quando você faz um programa em Java, você desconhece o sistema operacional e o hardware sobre o qual o programa rodará, pois o Java provê uma abstração onde os diversos serviços de aplicativos, como interface gráfica, manipulação de arquivos, rede etc. são providos pela própria linguagem (API inerente) e não mais pelo sistema operacional, e a execução do programa é feita por uma máquina virtual (JVM), uma ?CPU simulada por software?, e não mais pelo hardware real. O programa em Java ?executável? consiste em intruções de máquina para a JVM, os chamados bytecodes, que utilizam os serviços da API Java.
Existem diversas implementações de Java para os mais variados sistemas operacionais e arquiteturas de hardware, incluindo-se diversos dispositivos diferentes, como celulares por exemplo, e é possível que você tenha uma JVM instalada no seu computador.
Do ponto de vista do programador, o poder do Java encontra-se na API padronizada que se propõe a prover uma enorme gama de serviços para a programação de aplicativos, desde coisas básicas como manipulação de arquivos, rede, estruturas de dados, manipulação do tempo etc. até coisas mais ?alto nível? como criptografia, segurança, banco de dados e persistência, impressão, programação para web, aplicações distribuídas, multimídia etc.
Quando nos referimos ao Java, podemos estar nos referindo tanto ao conceito da JVM, quanto aos serviços providos pela API, quanto à linguagem de programação em si. O mais usual é entender Java como um conjunto de tecnologias, cuja base é a JVM, que você pode utilizar para criar aplicações independentes de plataforma, mais orientadas à funcionalidade e rodando em diversos dispositivos diferentes. A área onde a tecnologia Java hoje em dia é mais utilizada é a corporativa, no desenvolvimento de aplicações empresariais geralmente complexas e com requisitos avançados. Mas também existem outras áreas nas quais o Java é utilizado, como por exemplo em jogos de celulares.

