A linguagem Java surgiu a partir de uma pesquisa financiada pela Sun Microsystems em 1991, iniciada sob o codinome de projeto Green.
Com o intuito de se tornar uma linguagem para dispositivos inteligentes destinados ao usuário final e com a premissa de ser uma linguagem próxima as linguagens C e C++ e que pudesse ser executado em diversos hardwares.
A princípio, o projeto não teve bons resultados devido à lentidão do crescimento da área de dispositivos eletrônicos inteligentes, porém com a grande revolução da World Wide Web em 1993, logo se notou o potencial da linguagem para geração de conteúdo dinâmico, o que deu nova força ao projeto.
Inicialmente Java foi batizada de Oak por seu criador (James Gosling), tempos mais tarde, descobriu-se que já existia uma linguagem de programação chamada Oak. Com isso, em uma visita da equipe de desenvolvimento a uma cafeteria local, o nome Java surgiu (nome do café) e logo foi denominada a linguagem.
Em março de 1995 foi anunciado no evento SunWorld a tecnologia Java 1.0, inicialmente o foco principal da tecnologia utilizado para divulgação foram os Applets, pequenas aplicações que poderiam ser executadas via web através de um browser.
Em 1998 foi lançado a versão 1.2 (codinome “Playground”) da linguagem Java, está nova versão trouxe uma quantidade muito grande de novas funcionalidades, essa alteração foi tão grande que a pessoa do marketing começou a chamar de Java 2.
As versões 1.3 (codinome “Kestrel”) lançada em 2000 e 1.4 (codinome “Merlin”) lançada em 2002 continuaram sendo chamado de Java 2, pois houveram alterações e melhorias na linguagem mas não tão grandes como na versão 1.2.
Na versão 1.5 lançada em 2004 o pessoal resolveu mudar novamente chamando de Java 5 (codinome “Tiger”), a partir desta versão foi padronizado as novas atualizações.
Em 2006 o Java 6 (codinome “Mustang”) e atualmente o Java está na versão 6 update 26 e a versão 7 tem o codinome “Dolphin”.
Java também é uma linguagem Open Source e não possui um único dono, todas novas atualizações da linguagem são feitas através da JCP (Java Community Process), formada por um conjunto de empresas.