A implementación orixinal e de referencia docompilador, amáquina virtual e as librerías de clases de Java foron desenvoltos por Sun Microsystems en1995. Dende entón, Sun controlou as especificacións, o desenvolvemento e evolución da linguaxe a través doJava Community Process, aínda que outros desenvolveron tamén implementacións alternativas destas tecnoloxías de Sun, algunhas ata baixo licenzas desoftware libre.
Entre novembro de2006 e maio de2007, Sun Microsystems liberou a maior parte das súas tecnoloxías Java baixo a licenzaGNU GPL, de acordo coas especificacións do Java Community Process, de tal forma que practicamente todo o Java de Sun é agora software libre (aínda que abiblioteca de clases de Sun que se require para executar os programas Java aínda non ésoftware libre).
Desenvolvida inicialmente por James Gosling na empresa Sun Microsystems. A linguaxe chamábase ao comezo Oak (carballo), e tentaba substituír o C++.Hoxe en día, as especificacións da linguaxe Java, así como as deJVM (Java Virtual Machine: Máquina virtual Java) e as APIs de Java API por Sun a través doJava Community Process.
A linguaxe de programación Java foi creada por James Gosling en xuño do 1991 para usarse nun proxecto de consumibles domésticos. A linguaxe chamábase ao comezoOak, en referencia a un carballo que había nas proximidades das oficinas de Gosling, posteriormente chamouseGreen e finalmente chamaríase Java.
Os obxectivos de Gosling eran implementar unha máquina virtual e unha linguaxe cunha sintaxe similar a C/C++. A primeira versión pública de Java data de 1995. Tiña como lemaEscribe código unha vez, execútao onde queiras (Write Once, Run Anywhere), proporcionando contornas de execución gratuítas en varias plataformas. Era bastante seguro e a súa seguridade era configurable, permitindo restrinxir o acceso a redes e arquivos. A maior parte dos navegadores web pronto incorporaron a posibilidade de executar applets Java dentro de páxinas web. Java pronto se fixo popular. Coa chegada de Java 2, creáronse distintas especificacións para distintos tipos de plataformas. Por exemplo, J2EE era para aplicacións empresariais e J2ME era para aplicacións móbiles. J2SE era a denominación para a edición estándar. En 2006, debido a razóns de mercadotecnia as diferentes versións de Java se denominaron Java EE, Java ME, e Java SE.
O 13 de novembro de 2006, Sun Microsystems liberou a maior parte das súas tecnoloxías Java baixo a licenzaGNU GPL. O 8 de maio de 2007 Sun finalizou o proceso, facendo que todo o núcleo de Java fose software libre, coa excepción de pequenas porcións de código das que Sun non é dono do copyright.
A linguaxe Java naceu co obxectivo fundamental de universalidade en canto á súa execución do código compilado en calquerasistema operativo. Para acadar esta característica de universalidade (en canto ao sistema operativo), xera un código compilado estándar (byte code), que é executado por un programa intérprete chamadoJVM (Java Virtual Machine: Máquina virtual Java). É polo tanto semi-interpretada, xa que require compilación.
A sintaxe de Java deriva en gran medida deC++. A diferenza de C++, que combina a sintaxe para programación estruturada, xenérica e orientada a obxectos, Java foi deseñado exclusivamente como unha linguaxe orientada a obxectos. Como resultado, case todo é un obxecto e todo o código escríbese dentro de clases. Como excepcións a este feito temos os tipos de datos intrínsecos (números enteiros e en coma flotante, booleanos, e caracteres), que non son clases por motivos de prestacións.
Java non debe confundirse coa linguaxeJavaScript, coa que comparte soamente o nome e unha sintaxe parecida. Existe unha implementación de JavaScript denominadaRhino que está escrita completamente en Java e forma parte do proxectoFundación Mozilla.